遇到的问题 我有一台安装了manjaro的mini主机,大部分情况都没连显示器,作为一台服务器,少部分情况会连接显示器(一般发生在网络被玩崩了后)。 由于在不连接显示器的情况下,我偶尔也想用一用它的桌面,所以我安装了tigervnc。 遇到的问题:启动vncserver :1后,客户端虽然可以连上vnc,但会卡在锁屏loading界面,然后过一会就黑屏了。后面尝试断开重连vnc也是黑屏。 导致问题的原因 我想到可能是session的问题,所以尝试把sddm关了(systemctl stop sddm),果然vncserver就可以正常使用。所以此时,我的解决方案是: sudo systemctl stop sddm vncserver :1 但是我又发现了一个问题:如果把sddm关掉,wifi就会断开。(就算连接网线,之前还是遇到了如果关掉sddm,再重启路由器,主机不会自动连上路由器)。合理推测sddm应该是启动了某些协程,用来处理网络断开重连。 找到解决方案 查到了这个youtube视频才找到原因:因为sddm已经用当前用户登录了session,所以再尝试用vncserver创建一个新的session显然是不行的。所以我们有以下三种方案: 方案一: 创建一个新的用户,例如vncuser,专门用于vnc登录。 方案二:关闭sddm自动登录,让vncserver开机自启,替代sddm登录。 方案三:使用诸如x0vncserver的替代品,直接转发当前session。 选择方案 方案一的问题是文件权限,如果我们用另一个用户登录,那么用它进行操作的话,会影响到文件权限。 方案三我目前还没有尝试成功,貌似要转发session的话,必须要先连上显示器,输入密码登录该session。 所以我这里选择了方案二。 只需要两步操作: 关闭自动登录(注意:只能在连接显示器的情况下进行这步操作,在vnc远程桌面里操作不成功):关闭自动登录 vncserver开机自启: sudo systemctl enable vncserver:1 完成以上操作后,无需连接显示器,重启主机,就可以用ip:5901连接vnc啦。用sudo systemctl status sddm查看sddm的状态,可以发现sddm依然在运行,只不过它没有用默认账户登录。 Tips 如果遇到网络挂了的情况(无法用vnc远程登录),连接显示器和键盘鼠标然后开机,你会发现和之前vnc的问题一样,卡在了锁屏loading界面,解决办法是: Alt + F2进入tty2。 使用账号密码登录。 sudo systemctl stop vncserver:1 Alt + F1回到tty1。 就可以正常进入到桌面了!
manjaro(arch)下vncserver黑屏的问题
遇到的问题
我有一台安装了manjaro的mini主机,大部分情况都没连显示器,作为一台服务器,少部分情况会连接显示器(一般发生在网络被玩崩了后)。 由于在不连接显示器的情况下,我偶尔也想用一用它的桌面,所以我安装了tigervnc。 遇到的问题:启动
vncserver :1
后,客户端虽然可以连上vnc,但会卡在锁屏loading界面,然后过一会就黑屏了。后面尝试断开重连vnc也是黑屏。导致问题的原因
我想到可能是session的问题,所以尝试把
sddm
关了(systemctl stop sddm
),果然vncserver就可以正常使用。所以此时,我的解决方案是:但是我又发现了一个问题:如果把
sddm
关掉,wifi就会断开。(就算连接网线,之前还是遇到了如果关掉sddm
,再重启路由器,主机不会自动连上路由器)。合理推测sddm应该是启动了某些协程,用来处理网络断开重连。找到解决方案
查到了这个youtube视频才找到原因:因为
sddm
已经用当前用户登录了session,所以再尝试用vncserver
创建一个新的session显然是不行的。所以我们有以下三种方案:vncuser
,专门用于vnc登录。sddm
自动登录,让vncserver
开机自启,替代sddm
登录。x0vncserver
的替代品,直接转发当前session。选择方案
方案一的问题是文件权限,如果我们用另一个用户登录,那么用它进行操作的话,会影响到文件权限。
方案三我目前还没有尝试成功,貌似要转发session的话,必须要先连上显示器,输入密码登录该session。 所以我这里选择了方案二。
只需要两步操作:
vncserver
开机自启:sudo systemctl enable vncserver:1
完成以上操作后,无需连接显示器,重启主机,就可以用
ip:5901
连接vnc啦。用sudo systemctl status sddm
查看sddm
的状态,可以发现sddm
依然在运行,只不过它没有用默认账户登录。Tips
如果遇到网络挂了的情况(无法用vnc远程登录),连接显示器和键盘鼠标然后开机,你会发现和之前vnc的问题一样,卡在了锁屏loading界面,解决办法是:
Alt + F2
进入tty2。sudo systemctl stop vncserver:1
Alt + F1
回到tty1。就可以正常进入到桌面了!