因此,我最近tigervnc
在 Arch Linux 上安装了该软件包(uname -r 4.18.10-arch1-1-ARCH
)。我正在尝试让 VNC 服务器通过 SSH 隧道运行,因此我仅在 localhost 上启动服务器-localhost
on vncserver
。
问题是,在我使用 启动 vncserver 的 .service 文件后systemctl start vncserver@:1
,VNC 服务器没有响应,实际上,Xvnc 进程甚至没有运行。
我尝试对此进行故障排除,首先systemctl status vncserver@:1
给了我这个:
● vncserver@:1.service - Remote desktop service (VNC)
Loaded: loaded (/etc/systemd/system/vncserver@:1.service; enabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Wed 2018-10-10 20:57:46 EEST; 10min ago
Process: 4936 ExecStop=/usr/bin/vncserver -kill :1 (code=exited, status=2)
Process: 4897 ExecStart=/usr/bin/vncserver :1 -fg -alwaysshared -localhost :1 (code=exited, status=0/SUCCESS)
Process: 4891 ExecStartPre=/usr/bin/dbus-launch (code=exited, status=0/SUCCESS)
Process: 4885 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill :1 > /dev/null 2>&1 || : (code=exited, status=0/SUCCESS)
Main PID: 4897 (code=exited, status=0/SUCCESS)
Oct 10 20:57:41 JUHANPELIKONE-L systemd[1]: Starting Remote desktop service (VNC)...
Oct 10 20:57:42 JUHANPELIKONE-L systemd[4885]: pam_unix(login:session): session opened for user juha by (uid=0)
Oct 10 20:57:42 JUHANPELIKONE-L systemd[4891]: pam_unix(login:session): session opened for user juha by (uid=0)
Oct 10 20:57:42 JUHANPELIKONE-L systemd[1]: Started Remote desktop service (VNC).
Oct 10 20:57:42 JUHANPELIKONE-L systemd[4897]: pam_unix(login:session): session opened for user juha by (uid=0)
Oct 10 20:57:46 JUHANPELIKONE-L systemd[1]: vncserver@:1.service: Control process exited, code=exited status=2
Oct 10 20:57:46 JUHANPELIKONE-L systemd[1]: vncserver@:1.service: Failed with result 'exit-code'.
然后我尝试用 诊断它journalctl -xe
,发现了一些 pam 错误,然后发现了 Xvnc 的段错误回溯。
我尝试将 dbus 启动命令添加到服务文件(当前存在),更改窗口管理器,删除服务文件中的 vncservice 调用并将参数添加到服务文件中,直接从终端模拟器运行它,然后重新安装 TigerVNC。
.service 文件已启动帕斯特宾,以及我的journalctl -x
输出和其他东西,以防止混乱。
答案1
我知道这有点旧了,OP 绝对有可能刚刚放弃了这个。但我也遇到过这个问题,并且我(通过反复试验)将其追溯到“-fg”(在前台运行)标志。如果您手动运行 vncserver(或者可能在启动时通过其他方式运行 vncserver,则 vncserver 就可以了。
但是,删除 fg 标志并不能解决 systemd 的问题。我不知道到底是什么原因导致了段错误。
要在没有 systemd 的情况下复制该问题,您可以手动运行vncserver -fg
,它会立即崩溃,并在 vncserver 日志中给出相同的段错误问题,但是如果您删除 fg 标志并在vncserver
没有前台标志的情况下运行,服务器将会正常。
尝试在前台运行 vncserver 会导致 Xvnc 崩溃。我不确定是什么。