拷贝之前配置时总是启动服务失败,因之前的配置是直接调用 vncserver 命令并指定相应参数,而这里则是直接调用 vncserver_wrapper 命令(二者均来自 tigervnc-server-1.8.0-21.el7.x86_64 包),省了很多事,但在哪里指定参数呢?不用担心,参数可以在 ~/.vnc/config 中指定,比如
然后启动服务并将其设为开机启动即可
systemctl daemon-reload
systemctl enable vncserver@:1.service
systemctl start vncserver@:1.service
接下来运行 vncpasswd 命令设置 VNC 的登陆秘密
我就想用系统默认的 gnome 桌面,先不设 ~/.vnc/xstartup 文件,启动vnc服务器并登陆一次,系统会自动进入默认的 gnome 桌面并创建
~/.vnc/xstartup 可执行文件,内容大致如下
然而存在一些问题,包括中文环境、输入法以及锁屏等问题。最后改成如下样子解决:
关于输入法的设置放在 xstartup 里好像不管用,只好放在 ~/.bashrc 里了,如下:
Ubuntu 下如果没有接入显示器,vnc 会无法正常工作,所以需要做一些额外的操作来处理。
Ubuntu使用vino来作为默认的vnc服务器,但是默认的设置需要进行一些修改,特别是 require-encryption 这个标志,macos自带的vnc客户的不支持它的加密方式。
需要注意的是,不要用 sudo 来运行上面的命令,否则不但在ssh客户的操作时会有警告,而且修改的也不是当前的配置。
随用户登录后,自动启动 vino server。编辑一个 vino-server.desktop 文件,如果 autostart 目录不存在,就创建一个。
填入如下内容:
vino-server 不能在 console 中运行,所以需要在用户登录到桌面后用这样的方式自动启动。
在 /etc/X11 下创建 xorg.conf 文件,填写分辨率等信息
填写如下内容:
查看当前用的是什么管理器:
我的是 /usr/sbin/gdm3 ,那么编辑文件:
把下面三行的注释去掉,其中 AutomaticLogin 行修改成自己的用户名。
重启电脑,就可以登录了。
我通过 macos 的 Screen Sharing.app 用 vnc 协议来连接,查看 Ubuntu 的 Settings 的时候每次都会 crash,据说是 nvidia 的驱动问题,但是我没有深究,有兴趣的可以研究。
crash 后,vino-server 就退出了,要再次启动的话,需要重启桌面管理。Ubuntu 18.04下,只需要运行:
这样配置后,如果再次接上显示器后,显示器会黑屏,这时候,需要把 /etc/X11/xorg.conf 删除或者改名,比如改成 /etc/X11/xorg.conf.dummy ,然后重启显示管理器:
即可。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)