麒麟V10设置VNC连接的方法

最近研究了一下麒麟V10 Linux设置VNC连接的方法,记录一下。

VNC Server配置

VNC Server应该能够以服务的形式开机自启动,对外以 80 端口提供VNC远程连接服务。

创建 VNC Systemd 服务

创建VNC Systemd 服务,实现麒麟 V10 开机后 VNC 服务器自启动。暂未成功。

修改 vncserver 配置

修改 vncserver 配置,使 :1 对应 80 端口。

1
2
3
4
5
# 查看 vncserver 的位置
which vncserver

# 查看 vncserver 软连接到哪个文件
file /usr/bin/vncserver

最终找到麒麟 V10 使用的 vncserver 为 TigerVNC,使用 Vim 修改 TigerVNC配置文件,将 5900 替换为 79。

1
2
3
4
vim /usr/bin/tigervncserver

# 逐个替换并确认
:%s/5900/79/gc

修改 sysctl.conf 配置

Linux 对于非 root 用户禁止使用 1024 以下端口,但为了避免 VNC 服务被防火墙阻挡,应将 VNC 服务端口调整到 80 。修改 sysctl.conf 文件配置达到此目的。

1
2
3
4
5
6
#临时生效
sysctl net.ipv4.ip_unprivileged_port_start=0

#永久生效
echo "net.ipv4.ip_unprivileged_port_start=0" >> /etc/sysctl.conf
sysctl -p

启动 VNC 服务

1
2
3
4
5
6
7
# 设置 VNC 客户端连接密码
vncpasswd

# 启动 VNC 服务
vncserver -kill :1
vncserver :1
vncserver -list

连接 VNC 服务

使用各种 VNC 客户端,填入相关配置连接即可。连接 VNC 服务器遇到一些问题,记录如下。

中文输入法问题

打开终端,输入如下命令:

1
2
fcitx-autostart
fcitx restart

输入正确用户名和密码仍旧跳回登录界面

原因是主目录下的 .Xauthority 文件拥有者变成了 root ,导致用户登录时无法获取该文件,解决方法如下:

1
sudo chown user:user .Xauthority

麒麟 V10 自带的 Remmina 无法连接 VNC 服务器的问题

麒麟 V10 自带的 Remmina 能够连接 VNC 服务器的默认的 5801 端口,但是无法连接 VNC 服务器的 80 端口。该问题暂未解决。

参考链接

  1. Linux 查看端口占用情况,by runoob.
  2. 普通用户无法监听 80,443等低于1024端口解决办法,lenglingx.
  3. Ubuntu Kylin 输入正确的账号密码,登陆后又跳回到登录界面 解决方案,by YoungHonker.
  4. Systemd 入门教程:命令篇,by 阮一峰.
  5. Systemd 定时器教程,by 阮一峰.
  6. Systemd 入门教程:实战篇,by 阮一峰.
  7. Node 应用的 Systemd 启动,by 阮一峰.