本文为旧版本文档,新版文档在 : https://dev.leiyanhui.com/docker/debian-desktop/
debian12 i3 xrdp novnc X11Forwarding include pulseaudio-xrdp
没多余的软件,内存占用200M左右,甚至浏览器都没有。 后文有详细的使用方法和 安装其他的软件的方法。
特性
轻量 干净 基于i3 和 openbox 可以用xrdp novnc(webvnc) vnc x11 等方式运行。
vnc和novnc使用简洁的原生openbox xrdp使用依赖快捷键但是更高效的i3
集成软件:
- debian 12 bookworm
- i3 openbox polybar rofi alacritty dunst zsh
- supervisord 服务器管理 及python3
- tigervnc
- novnc websockify
- ttf-wqy-zhenhei fonts-jetbrains-mono fonts-noto-color-emoji
更新记录和计划
安装
|
|
3389是xrdp端口 2222 是ssh x11端口 8080 是novnc 端口 5900-5905 是vnc端口默认用户是5900
默认用户名和密码
xrdp x11 ssh 的默认用户名:yanhui 密码:1 (只有一个数字1) vnc 密码:111111(六个数字1)
为什么选择debian
因为比Ubuntu干净,debian一直被诟病的包少的问题,debian12 增加了11089个包,总数量已经到了64419,部分官方仓库没有的软件,软件开发者自己一般提供源或者deb。
放弃archlinux改debian 是因为有部分商业软件只有deb rpm包aur里面没有,自己解包太麻烦。 arch的 一些其他缺点这里不多说。
而且debian12 2年更新 5年安全,以后也可以平滑升级到更新版本。
为什么选择i3 和openbox 怎么换其他桌面
因为轻量,以及个人习惯,你可以自由换成其他任意桌面系统。
因为i3的高效来自快捷键,但是在浏览器中会有大量快捷键冲突。所以新版本在novnc中使用了同样轻量的openbox。
而在xrdp中,因为全屏模式 和部分支持rdp的客户端软件 均可做到键盘映射,所以xrdp使用了i3桌面
更换为其他桌面的方法
例如,要换成 xfce4首先安装sudo apt install xfce4
,然后修改 /autoStart.sh
可以更换vnc和novnc的桌面。
修改用户目录下的 ~/.xsession
文件可以替换xrdp的桌面。然后卸载掉i3或者openbox即可:sudo apt purge i3
or sudo apt purge openbox
novnc vnc为什么是黑屏
就是黑屏的,因为为了节省资源用的没有任何扩展的openbox。 右键 有惊喜!
怎么启动shell 和常见快捷键
基本是i3 的默认快捷键
点屏幕顶部的 Apps> 系统 >终端 (部分菜单无用,是因为没对应软件,你可以看一下polybar的配置文件 )
如果是rdp远程桌面下,按下键盘 : win+回车
启动管理器(开始菜单) :win d
程序切换 alt+tab
修改窗口大小:按住win 再按住 鼠标右键 来回拖动
修改窗口位置:按住win 再按住 鼠标左键 来回拖动
关闭软件:win shift q
注销:win shift e
更多使用方法 自己看一下i3 使用说明
怎么装中文输入法
|
|
安装完成后,注销重新登录一次桌面,会自动加载,然后在托盘位置配置添加输入法即可,拼音输入法可导入搜狗细胞词库,具体自己研究。
怎么新建用户怎么删除默认用户
新建用户
|
|
新用户vnc密码
ssh 或者 xrdp 登陆新用户后,运行 vncpasswd
更新 vnc服务
修改里面的用户名
|
|
删除默认用户
|
|
怎么修改密码
用户密码
命令:passwd
vnc密码
命令:vncpasswd .vnc/passwd
,需要重启vnc服务,命令查看 cat /autoStart.sh
x11转发模式如何使用输入法
修改一下fcitx5的中英文切换快捷键,和你当前电脑的不能一样。然后先执行 fcitx5&
再执行对应的软件。
x11 转发模式部分软件很卡
没得办法,可以适当优化一下自己网上搜吧。另外 火狐在x11转发模式下默认配置要比chrome系更卡。
novnc默认地址
http://你的ip:8080/ 其中端口docker内部默认使用80,外部端口是你自己映射的。
novnc如何走https
建议用Nginx 统一反代一下,或带supervisor启动的时候带证书。
20230704版本vnc连不上
|
|
把上面这行代码添加到 /autoStart.sh 第二行,然后重启整个容器
如何关掉vnc
|
|
然后卸载
天气预报出错以及如何修改天气预报城市
~/.config/polybar/weather-plugin.py
这个文件
天气预报接口 用的openweathermap,内置的我自己的接口,用的人多了会受限制无法使用。
你自己去注册一个账号,然后创建一个key。查询一下你所需要城市的id,然后修改里面的网址部分的 id(城市) appid(你自己的)https://api.openweathermap.org/data/2.5/weather?id=1793724&appid=440b47a5ffbc5421e4a9befcbc4d635b&units=Metric&lang=zh_cn
你如果不想用,直接在 polybar的配置文件里面删掉即可。
如何调音量
在i3配置文件里面修改
调整音量 快捷键:win ctrl ↑ 和 win ctrl ↓,(左右是静音)也可以鼠标移动到 polybar 音量图标位置滚轮调整。
进阶用法,自己配置i3和polybar
vnc 和xrdp 桌面不同步
是的,这是两个虚拟显示,所以不同步。如果要显示同样的内容,可以在xrdp登陆的时候 选择登陆到vnc 而不是org 。
noVNC 网页访问按键失灵乱跳
1、关闭宿主的中文输入法,使用宿主机系统自带的英文输入法
2、更换浏览器,目前发现chrome edge之类的 在noVNC下兼容性不如新版火狐 火狐 96以后版本测试运行良好,safari 和 ios下的浏览器均不兼容的哈。
没声音或者 顶部音量不显示
vnc 和x11 没声音
vnc和x11 就是没声音的话,如果确实要,请用pulseaudio转发 或者换xrdp
xrdp的polybar 偶尔不显示音量
这个是polybar 在 debian12下 和 pulseaudio-module-xrdp 之间的bug,已经提交过issue,等更新吧。
临时解决方法,在桌面登陆一会后 重启pulseaudio和polybar
|
|
如何修改分辨率
vnc novnc
|
|
xrdp
xrdp的分辨率 由你的客户端 发起的时候配置
openbox的壁纸点好多次才换一张
壁纸是随机更换的默认就带了两张,所以会有50%概率不更换。
自己添加开机启动项
三个方法
- 跟随 i3桌面启动的软件,可以添加到i3 配置文件中。例如截图软件,蓝牙托盘等等
- 后台服务,可以添加到 /autoStart.sh
- 需要守护的后台服务 添加到 supervisor中目录: /etc/supervisor/conf.d/
安装常用软件
点屏幕左上角 APPS > 系统 > 终端 输入 apt install
命令;启动软件 APPS > 系统 > rofi-run
选择软件或者输入软件名称
或者xrdp全屏模式下 novnc 左侧快捷键也可: win+回车 win+d
|
|
libpulse-mainloop-glib0 错误
libpulse-mainloop-glib0 : Depends: libpulse0 (= 16.1+dfsg1-2+b1) but 1:13.99.1-1ubuntu3.10 is to be installed 部分软件 例如 pavucontrol dolphin 需要新版 libpulse0,但是因为 考虑到pulseaudio-module-xrdp 稳定性,我用的旧版本。 你可以卸载掉,然后重新编译pulseaudio-module-xrdp。
不喜欢默认用户的shell
默认用户 yanhui的 shell是 zsh 并用oh-my-zsh定制了一下,不喜欢 可以 直接输入exit 退出到bash。
然后自己删掉 .bashrc 的最后一行 zsh 三个字母。最后卸载掉 zsh ,并删除 .oh-my-zsh 目录即可
pve lxc ct 或者docker宿主机 目录映射 和显卡等
pve 硬盘到lxc
请看:https://dev.leiyanhui.com/pve/lxc-mount-dir/
docker宿主机 目录映射
docker 创建命令 里面的 -v /mnt:/disk
就是把上层宿主的 /mnt 穿透到容器内部的/disk。
注意权限问题哈,可以用uid映射方法,权限要求不严格 也可以直接 chmod -R 777 /mnt
解决
如何使用显卡加速
以nvidia为例在创建docker的时候 把显卡挂进去即可
|
|
目录和文件说明
启动文件
启动文件分两个
- /autoStart.sh 启动vnc 并启动supervisord
- /etc/supervisor/conf.d/ supervisord 服务目录
i3 配置文件
/home/yanhui/.config/i3/config
openbox配置文件
/home/yanhui/.config/openbox/menu.xml #右键菜单
feh.sh rofi.sh #右键菜单对应 壁纸和rofi的的执行脚本
壁纸目录
i3配置文件调用feh随机选 /home/yanhui/.config/i3/bg/
polybar
- /home/yanhui/.config/polybar/config.ini # polybar的全部配置文件 包括左上角菜单
- /home/yanhui/.config/polybar/polybar_run.sh # 启动和重启polybar的脚本
- /home/yanhui/.config/polybar/weather-plugin.py # polybar 天气预报插件 用的 openweathermap.org的接口 内置key用的人多有可能失效,自己去注册一个换掉。
rofi
/home/yanhui/.config/rofi/config.rasi
dunst
/home/yanhui/.config/dunst/dunstrc
alacritty
/home/yanhui/.config/alacritty/alacritty.yml
zsh
/home/yanhui/.zshrc /home/yanhui/.oh-my-zsh