CentOS7.9 配置 vncserver

CentOS7.9 配置 vncserver,第1张

首先把 /usr/lib/systemd/system/vncserver@.service 复制为 /etc/systemd/system/vncserver@:1.service , 然后将其中 <USER> 换成自己的用户名即可,其他的都不用动,下面就是原始的文件内容:

拷贝之前配置时总是启动服务失败,因之前的配置是直接调用 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 ,然后重启显示管理器:

即可。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/470016.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-06-06
下一篇2023-06-06

发表评论

登录后才能评论

评论列表(0条)

    保存