我在 ubuntu 20.04 上使用 tigervnc 服务器,gnome。问题是,如果我从 VNC 查看器锁定屏幕,那么我将永远无法再次从 VNC 登录。我仍然可以输入密码,但即使我按回车键也无法登录。但是,如果我使用 vncserver 命令启动 vnc 服务器,则不会出现此问题。
〜/ .vnc / xstartup
#!/bin/sh
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
/etc/vnc/xstartup
# !/bin/sh
test x"$SHELL" = x"" && SHELL=/bin/bash
test x"$1" = x"" && set -- default
vncconfig -iconic &
"$SHELL" -l <<EOF
export XDG_SESSION_TYPE=x11
dbus-launch --exit-with-session gnome-session
exec /etc/X11/Xsession "$@"
EOF
vncserver -kill $DISPLAY
/etc/systemd/系统/[电子邮件保护]
[Unit]
Description=Start TigerVNC server at startup
After=syslog.target network.target
[Service]
Type=simple
User=john
PAMName=login
PIDFile=/home/john/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver -fg -depth 24 -geometry 1280x1024 -localhost no :%i
ExecStop=/usr/bin/vncserver -kill :%i
[Install]
WantedBy=multi-user.target
答案1
安装 x0vncserver
在 lubuntu 22.04 上,我通过以下命令安装了 x0vncserver:
sudo apt-get install tigervnc-scraping-server
也许最好删除当前的 VNC 服务器。
安装后我执行了以下步骤:
> mkdir -p ~/.vnc
> vncpasswd
# insert the VNC password (not create a password for only Viewer
# connection when the command ask you)
创建 x0vncserver 启动脚本
创建以下脚本/usr/local/bin/start-x0vncserver.sh
:
#!/bin/bash
export XAUTHORITY="/var/run/lightdm/root/:0"
VNC_BIN=/usr/bin/x0vncserver
PARAMS="-localhost no -passwordfile ~/.vnc/passwd -display :0"
($VNC_BIN $PARAMS)
exit 0
上面的脚本使 VNC 客户端能够连接到显示器:0(参见-display :0
VNC 服务器的参数x0vncserver
)。
该脚本必须是可执行的,因此执行:
> sudo chmod +x /usr/local/bin/start-x0vncserver.sh
启用 VNC 服务器的自动启动
之后,您必须通过 Ubuntu 的自动启动功能启用启动时执行脚本/usr/local/bin/start-x0vncserver.sh
。在 lubuntu 22.04 上,我使用了菜单Preference->LXQT Settings->Session Settings->Autostart
(从“开始”按钮)。
在您的 Ubuntu 发行版上,我不知道您可以在哪里找到自动启动选项,但我确定它是在Preferences
“开始”按钮的菜单下。