debian12 i3 xrdp novnc X11Forwarding include pulseaudio-xrdp
没多余的软件,内存占用200M左右,甚至浏览器都没有。 后文有详细的使用方法和 安装其他的软件的方法。
本文说明
joyanhui/debian-i3-xrdp-novnc 使用docker 和 lxc/lxd ,本文可能会滞后最新,更多问题问题请查看docker和lxd的使用手册。
如果您没有使用过i3 openbox lxc等软件,务必仔细阅读本文,至少会让你熟悉了解相关操作。
特性
轻量 干净 基于i3 和 openbox 可以用xrdp novnc(webvnc) vnc x11 等方式运行。
是一个完整的操作系统,systemd可正常使用,甚至可以再次安装docker
vnc和novnc使用简洁的原生openbox xrdp使用依赖快捷键但是更高效的i3
采用docker 运行lxd的方法 alpine3.18.2 => lxd
集成软件:
- debian 12 bookworm
- i3 openbox polybar rofi alacritty dunst zsh firefox-esr thunar gvfs gvfs-backends gvfs-fuse sshfs
- tigervnc
- novnc websockify
- ttf-wqy-zhenhei fonts-jetbrains-mono fonts-noto-color-emoji 微软雅黑
- 服务管理支持:systemd supervisor
安装
|
|
3389是xrdp端口 2222 是ssh x11端口 8080 是novnc 端口 5900-5905 是vnc端口默认用户是5900 ,222 是alpine容器的ssh端口
20230707 之前版本是纯docker实现,不包含浏览器和文件管理器,之后的版本是lxd lxc实现 并带firefox-esr 和thunar 网络挂载 并支持 systemd。
默认账号 以及相关用户名和密码
总共有三个密码:
debian的系统用户
用户名:yanhui 密码:1 (只有一个数字1)
这个用户名密码,同时对应debian的 ssh xrdp 的默认账号 对应默认端口:2222 和 3389
debian默认的root 没设置密码,禁止ssh登陆
|
|
debian的vnc的密码
vnc 密码:111111(六个数字1)
此密码用于vnc 和novnc登陆 默认用户yanhui的桌面
|
|
alpine的root账户
用户名 root 密码:1(只有一个数字1)
此密码同时左右 alpine的ssh登陆密码,对应默认端口:222
|
|
部署完毕后,务必第一时间修改密码!
为什么选择debian 而不是arch nixos
因为比Ubuntu干净,debian一直被诟病的包少的问题,debian12 增加了11089个包,总数量已经到了64419,部分官方仓库没有的软件,软件开发者自己一般提供源或者deb。
放弃archlinux改debian 是因为有部分商业软件只有deb rpm包aur里面没有,自己解包太麻烦。
arch和nixos一些其他缺点这里不多说。
其实最主要的是 不折腾 稳如老狗,以及 个人喜好 以及和服务器端的环境一致性
为什么用docker 套lxd
不直接用lxd 是因为部分环境不支持,另外docker的分层commit 更方便。 更可以推送到自己的私有regditer
不直接用docker 是因为 docker 限制太多,不算是太完整的系统,lxc lxd 是一个完整的系统。
所以20230707版本以后 改为 docker运行alpine 然后在alpine内用lxd运行 debian12
alpine是一个只有3m大小的linux系统,在用lxd嵌套后,比旧方案多占用30-60M内存,80M硬盘,但是带来的是一个完整的linux体验,并且性能吊打虚拟机模式!
为什么选择i3 和openbox 怎么换其他桌面
因为轻量,以及个人习惯,你可以自由换成其他任意桌面系统。
因为i3的高效来自快捷键,但是在浏览器中会有大量快捷键冲突。所以新版本在novnc中使用了同样轻量的openbox。
而在xrdp中,因为全屏模式 和部分支持rdp的客户端软件 均可做到键盘映射,所以xrdp使用了i3桌面
更换为其他桌面的方法
例如,要换成 xfce4首先安装sudo apt install xfce4
,然后修改 ~/.vnc/xstartup
可以更换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 使用说明
如何从宿主机器直接进去debian shell
两步
|
|
第一个dt 是docker的容器名称,第二个 是lxc 的容器名称
你也可以在登陆 vnc/xrdp后直接运行
怎么装中文输入法
|
|
openbox 需要右键手动加载,其他现代的桌面系统,包括i3。安装完成后,注销重新登录一次桌面,会自动加载,拼音输入法可导入搜狗细胞词库,具体自己研究。
默认中英文切换快捷键是 ctrl+空格 ,如果你在非全屏的xrdp 或novnc /vnc 下切换,注意和本地的输入法快捷键冲突问题。
怎么新建用户怎么删除默认用户
新建用户
|
|
新用户vnc密码
ssh 或者 xrdp 登陆新用户后,运行 vncpasswd
更新 vnc服务
修改里面的用户名
|
|
删除默认用户
|
|
怎么修改密码
用户密码
命令:passwd
vnc密码
命令:vncpasswd .vnc/passwd
,需要重启vnc服务,查看 systemctrl restart vncserver@0
x11转发模式如何使用输入法
修改一下fcitx5的中英文切换快捷键,和你当前电脑的不能一样。然后先执行 fcitx5&
再执行对应的软件。
x11 转发模式部分软件很卡
没得办法,可以适当优化一下自己网上搜吧。另外 火狐在x11转发模式下默认配置要比chrome系更卡。
novnc默认地址
http://你的ip:8080/ 其中端口docker内部默认使用8080,外部端口是你自己映射的。
novnc如何走https
建议用Nginx 统一反代一下,或带supervisor启动的时候带证书。
vnc连不上
此问题只在 20230707之前版本存在
|
|
把上面这行代码添加到 /autoStart.sh 第二行,然后重启整个容器
天气预报出错以及如何修改天气预报城市
~/.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下的浏览器均不兼容的哈。
xrdp 登陆后桌面灰色无显示
长期无操作后,锁屏了而已。依次盲输入密码然后按下回车 验证成功后 即可登入桌面。
如果你不需要锁屏功能,可以删掉 sudo apt purge i3lock
没声音或者 顶部音量不显示
vnc 和x11 没声音
vnc和x11 就是没声音的话,如果确实要,请用pulseaudio转发 或者换xrdp
xrdp的polybar 偶尔不显示音量
这个是polybar 在 debian12下 和 pulseaudio-module-xrdp 之间的bug,已经提交过issue,等更新吧。
临时解决方法,在桌面登陆一会后 重启pulseaudio和polybar
|
|
20230707 以后的版本,可以在polybar顶部菜单用依次点击: APPS > polybar > 重启声音 APPS > polybar > 重载polybar
如何修改分辨率
vnc novnc
|
|
xrdp
xrdp的分辨率 由你的客户端 发起的时候配置
openbox的壁纸点好多次才换一张
壁纸是随机更换的默认就带了两张,所以会有50%概率不更换。
安装常用软件
点屏幕左上角 APPS > 系统 > 终端 输入 sudo apt install <包名>
命令;启动软件 APPS > 系统 > rofi-run
选择软件或者输入软件名称
或者xrdp全屏模式下 novnc 左侧快捷键也可: win+回车 win+d
|
|
如何访问文件
thunar 方式
20230707以后版本集成了thunar 和smb sshfs webdav访问组件。
打开 thunar ,地址栏输入:smb://10.1.1.100
或者dav://10.1.1.100
即可
文件挂载
参考后文 目录映射 方法
不喜欢默认用户的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宿主机 目录映射
默认 映射 /mnt/sda1 到最终的debian12
如果要映射其他目录,先映射到docker内,确保早docker内可以访问的情况下在docker内如下命令映射到 lxc
|
|
更多使用方法,以及权限问题,请参考lxd手册
端口
先映射端口到docker,而后在docker内 用如下命令映射到lxc
|
|
更多使用方法,请参考lxd手册
如何使用显卡加速
以nvidia为例在创建docker的时候 把显卡挂进去即可
|
|
pve 群晖 unraid esxi 下的安装方式
pve下,你可以用lxc/vm 运行docker的方式运行,也可以,从本镜像内提取lxc模板直接导入到 CT容器。 其他系统 建议直接docker运行
目录和文件说明
/boot.sh
在docker内 其他文件在 debian内
启动文件
boot.sh
/boot.sh
在docker内 用于启动alpine的 ssh 和 lxd/lxc 的debian
systemd 和 supervisord
systemd 和 supervisord 在 lxc的debian内
novnc使用supervisord启动:/etc/supervisor/conf.d/
,vnc和其他服务使用systemd启动:/etc/systemd/system/
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