折腾LINUX复古终端

本文介绍了如何在遇到cool-retro-termDocker应用报错后,通过x11docker和SSH远程访问,解决QMLTermWidget缺失问题,包括安装依赖、复制关键文件和编写Dockerfile自定义镜像的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这个复古终端是cool-retro-term,先来图
LINUX复古终端
绿色复古终端
黑客帝国复古终端

点击GITHUB地址
开始用docker运行,报错。后来用x11docker,因为我要远程通过SSH的x11转发,但实际x11docker的默认backbone就说docker,也就说要先用docker下载镜像,再用x11docker加载。
X11的GITHUB地址

1.x11docker安装(直接本机docker运行的,这步忽略)

查看这里,照抄

  • 安装
curl -fsSL https://raw.githubusercontent.com/mviereck/x11docker/master/x11docker | sudo bash -s -- --update

遇到科学问题,用科学方法。

  • 安装依赖,我是用x11。如果是用其它agent,另行下载。
 sudo docker pull x11docker/xserver

2.下载cool-retro-term

docker镜像地址
这个镜像没有任何说明,意味着耐折腾。

docker pull jess/cathode

3.运行

x11docker jess/cathode

4.问题来了

报错

QQmlApplicationEngine failed to load component
qrc:/main.qml:137:5: Type TerminalContainer unavailable
qrc:/TerminalContainer.qml:23:5: Type PreprocessedTerminal unavailable
qrc:/PreprocessedTerminal.qml:24:1: module "QMLTermWidget" is not installed
Cannot load QML interface

解决的线索看这里

5.解决

不要中断运行,先进入dockers容器

sudo docker exec -itu 0 32fccdcafcd2 bash  #32fccdcafcd2 是容器id

容器内的根目录如下:

root@32fccdcafcd2:/tmp# cd ..   #到根目录
root@09cfa18cba18:/# dir
bin   dev  home  lib64  mnt  proc  run   src  sys  usr  x11docker
boot  etc  lib   media  opt  root  sbin  srv  tmp  var

进入src目录

root@09cfa18cba18:/# cd /src/
root@09cfa18cba18:/src# dir -l
total 1780
-rw-r--r-- 1 root root   25713 Nov  2  2020 Makefile
-rw-r--r-- 1 root root    7832 Nov  2  2020 README.md
drwxr-xr-x 1 root root    4096 Nov  2  2020 app
-rwxr-xr-x 1 root root 1698328 Nov  2  2020 cool-retro-term
-rw-r--r-- 1 root root     280 Nov  2  2020 cool-retro-term.desktop
-rw-r--r-- 1 root root     182 Nov  2  2020 cool-retro-term.pro
-rw-r--r-- 1 root root   18092 Nov  2  2020 gpl-2.0.txt
-rw-r--r-- 1 root root   35147 Nov  2  2020 gpl-3.0.txt
drwxr-xr-x 5 root root    4096 Nov  2  2020 packaging
drwxr-xr-x 1 root root    4096 Nov  2  2020 qmltermwidget
drwxr-xr-x 2 root root    4096 Nov  2  2020 snap

可以看到

  • 可执行文件 cool-retro-term
  • 前面线索中提到的目录qmltermwidget

按线索操作

root@09cfa18cba18:/src# cp -r qmltermwidget/src/qmldir qmltermwidget/lib/kb-layouts \
qmltermwidget/lib/color-schemes qmltermwidget/src/QMLTermScrollbar.qml \
qmltermwidget/QMLTermWidget

运行程序

root@09cfa18cba18:/src# ./cool-retro-term

成功运行,问题解决!

最后

编写dockfile,重新生成镜像。

vim Dockerfile
FROM jess/cathode
RUN cd /src
RUN cp -r qmltermwidget/src/qmldir qmltermwidget/lib/kb-layouts \
         qmltermwidget/lib/color-schemes qmltermwidget/src/QMLTermScrollbar.qml \
         qmltermwidget/QMLTermWidget

构建镜像

sudo docker build -t jess/cathode:new .

补充

设置和修改主题,鼠标右键,从菜单上选择
修改主题

第三方主题
可以鼠标右键->setting->General->Import,导入。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值