Linux学习之路我用 LinuxLinux学习|Gentoo/Arch/FreeBSD

Linux Mint:VNC Server配置

2019-12-10  本文已影响0人  txfly

本文主要介绍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

其中需要注意的有:

  1. 修改User=txfly为真实用户名;
  2. ExecStart=/usr/bin/vncserver %i -geometry 1440x900 -alwaysshared -fg -localhost no-fg表示进程在前台运行并在VNC服务器的X会话终止后终止它,-localhost no表示所有客户端都可以连接。
  3. 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>

参考连接:

  1. https://wiki.archlinux.org/index.php/TigerVNC
  2. https://tigervnc.org/doc/vncconfig.html

版权声明:本文为「txfly」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://www.jianshu.com/p/c23714457783

上一篇下一篇

猜你喜欢

热点阅读