本文主要介绍Linux Mint(Cinnamon)下VNC Server的基本配置。
测试环境:Linux Mint 19.2 Cinnamon + TigerVNC 1.7.0 + VNC-Viewer(WIN10)
安装vncserver
sudo apt install tigervnc-standalone-server tigervnc-common
设置密码
使用vncpasswd
命令设置密码,文件存放在~/.vnc
路径下。
$ vncpasswd
Password:
Verify:
Would you like to enter a view-only password (y/n)? n
$ ls ~/.vnc
passwd
设置为开机启动
创建/etc/systemd/system/vncserver@:1.service
文件,具体内容为:
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
[Service]
Type=simple
User=txfly
PAMName=login
PIDFile=/home/%u/.vnc/%H%i.pid
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/bin/vncserver %i -geometry 1440x900 -alwaysshared -fg -localhost no
ExecStop=/usr/bin/vncserver -kill %i
Restart=always
[Install]
WantedBy=multi-user.target
其中需要注意的有:
- 修改
User=txfly
为真实用户名; -
ExecStart=/usr/bin/vncserver %i -geometry 1440x900 -alwaysshared -fg -localhost no
中-fg
表示进程在前台运行并在VNC服务器的X会话终止后终止它,-localhost no
表示所有客户端都可以连接。 -
Restart=always
重启VNC Server。在客户端注销后,可以重新连接服务器。如果没有加这一条,客户端注销后,vncserver@:1.service
会变成stop状态。
详细操作步骤:
$ sudo /etc/systemd/system/vncserver@:1.service
$ sudo systemctl start vncserver@:1.service
$ sudo systemctl enable vncserver@:1.service
Created symlink /etc/systemd/system/multi-user.target.wants/vncserver@:1.service → /etc/systemd/system/vncserver@:1.service.
$ sudo systemctl status vncserver@:1.service
● vncserver@:1.service - Remote desktop service (VNC)
Loaded: loaded (/etc/systemd/system/vncserver@:1.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2019-12-10 15:21:27 CST; 5s ago
Process: 4385 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill :1 > /dev/null 2>&1 || : (code=exited, status=0/SUCCESS)
Main PID: 4392 (vncserver)
Tasks: 0 (limit: 4915)
CGroup: /system.slice/system-vncserver.slice/vncserver@:1.service
‣ 4392 /usr/bin/perl /usr/bin/vncserver :1 -geometry 1440x900 -alwaysshared -fg -localhost no
连接VNC Server
打开VNC-Viewer
,地址栏输入ip地址和端口即可,例如192.168.2.6:5901
(注意此时端口号是5901)。
如果出现连接超时或者服务端拒绝连接,需要在Linux Mint里面关闭防火墙,或者将5901
添加到防火墙里面,配置方式如下:
其它需要注意的地方:
1. 启用剪切复制功能
修改/etc/X11/Xvnc-session
文件,将vncconfig -iconic &
修改成vncconfig -nowin &
,这样可以隐藏helper
应用,修改后的内容为:
#! /bin/sh
test x"$SHELL" = x"" && SHELL=/bin/bash
test x"$1" = x"" && set -- default
vncconfig -nowin &
$SHELL -l <<EOF
exec /etc/X11/Xsession "$@"
EOF
vncserver -kill $DISPLAY
2. 修复文件管理器以Root身份打开
功能
修改/usr/share/polkit-1/actions/org.nemo.root.policy
文件,将<allow_any>no</allow_any>
改成<allow_any>auth_admin_keep</allow_any>
,修改后的内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE policyconfig PUBLIC
"-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
"http://www.freedesktop.org/standards/PolicyKit/1/policyconfig.dtd">
<policyconfig>
<vendor>Nemo Project</vendor>
<vendor_url>https://github.com/linuxmint/nemo</vendor_url>
<action id="org.nemo.root">
<description>Run Nemo with elevated privileges</description>
<message gettext-domain="nemo">Files</message>
<icon_name>gksu-root-terminal</icon_name>
<defaults>
<allow_any>auth_admin_keep</allow_any>
<allow_inactive>no</allow_inactive>
<allow_active>auth_admin_keep</allow_active>
</defaults>
<annotate key="org.freedesktop.policykit.exec.path">/usr/bin/nemo</annotate>
<annotate key="org.freedesktop.policykit.exec.allow_gui">true</annotate>
</action>
</policyconfig>
参考连接:
版权声明:本文为「txfly」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://www.jianshu.com/p/c23714457783
网友评论