vnc安装和开机自启设置

本文详细介绍了如何在Ubuntu服务器上安装TigerVNC,并设置开机自启。首先通过命令行安装VNC服务器,然后运行vncserver设置密码。接着停止VNC实例,并创建启动脚本,赋予执行权限。最后编写.service脚本,启用并启动VNC服务,确保服务器重启后VNC能自动运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、安装VNC

键入以下命令以在 Ubuntu 服务器上安装 TigerVNC :

sudo apt install tigervnc-standalone-server tigervnc-common

现在安装了 VNC 服务器,下一步是运行 vncserver 命令,该命令将创建初始配置并设置密码。运行以下命令时不要使用 sudo :

vncserver

在继续下一步之前,首先使用带有 -kill 选项和服务器编号作为参数的 vncserver 命令停止 VNC 实例。在我们的例子中,服务器在端口 5901 (:1)中运行,因此我们将使用以下命令停止它:

1.启动vnc服务:

vncserver -localhost no 

2.查看vnc运行状态:

vncserver -list

3.关闭vncC显示器

vncserver -kill :1

4.查找 vnc

ps -ef | grep vnc  ubuntu.desktop

5.查找端口

netstat -ano | grep 5901

二、设置开机自启

1、编写启动脚本

nano /usr/lib/python3/start_vncserver.sh

复制下面到脚本

#!/bin/bash
echo "start vncserver...oooooooooooooo"
nohup /usr/bin/vncserver -SecurityTypes=None -rfbport=5901 -localhost no --I-KNOW-THIS-IS-INSECURE &
#!/bin/bash
echo "start vncserver...oooooooooooooo"   
nohup tigervncserver -xstartup /usr/bin/xterm -SecurityTypes=None -rfbport=5901 -localhost no --I-KNOW-THIS-IS-INSECURE & 

2、附加权限

chmod u+x /usr/lib/python3/start_vncserver.sh

3、编写.service脚本

sudo nano /etc/systemd/system/tigervnc.service

4.1.复制下面到脚本

[Unit]
Description=TigerVNC  Service(VNC)
After=syslog.target network.target


[Service]
Type=forking

ExecStartPre=/bin/echo "exec pre"
ExecStartPre=/sbin/runuser -l root -c "/bin/rm -rf /tmp/.X*"
ExecStart=/sbin/runuser -l root -c "/usr/lib/python3/start_vncserver.sh"


[Install]
WantedBy=multi-user.target

4.2.通知 systemd 我们创建了一个新的单元文件:

sudo systemctl daemon-reload

4.3.启用单元文件:

sudo systemctl enable tigervnc.service

4.4.执行以下命令启动 VNC 服务:

sudo systemctl start tigervnc.service

4.5.验证服务是否已成功启动:

sudo systemctl status tigervnc.service

4.6.重启服务器

sudo reboot

在当前用户目录下创建可执行文件~/.vnc/xstartup,内容如下:

#!/bin/sh
#unset SESSION_MANAGER
#unset DBUS_SESSION_BUS_ADDRESS
#exec startxfce4 


unset SESSION_MANAGER
#unset DBUS_SESSION_BUS_ADDRESS #测试中发现如果去掉该行注释 桌面不会出现
export XKL_XMODMAP_DISABLE=1
export XDG_CURRENT_DESKTOP="GNOME-Flashback:GNOME"
export XDG_MENU_PREFIX="gnome-flashback-"
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey    #设置背景色
vncconfig -iconic &
gnome-terminal &        #连接后会直接打开一个terminal窗口
nautilus &              #连接后会直接打开一个文件窗口
gnome-session --session=gnome-flashback-metacity --disable-acceleration-check &

对于exec值,请使用以下命令检查您的桌面会话:

ls /usr/share/xsessions/

在那里您可以找到类似以下内容的.desktop文件:

zkhx@zkhx-desktop:/lib/aarch64-linux-gnu$ ls /usr/share/xsessions/
ubuntu.desktop  xfce.desktop
zkhx@zkhx-desktop:/lib/aarch64-linux-gnu$ cat /usr/share/xsessions/ubuntu.desktop 
[Desktop Entry]
Name=Ubuntu
Comment=This session logs you into Ubuntu
Exec=env GNOME_SHELL_SESSION_MODE=ubuntu /usr/bin/gnome-session --systemd --session=ubuntu
TryExec=/usr/bin/gnome-shell
Type=Application
DesktopNames=ubuntu:GNOME
X-GDM-SessionRegisters=true
X-Ubuntu-Gettext-Domain=gnome-session-3.0

打开你对vnc会话感兴趣的桌面环境的文件,并检查那里的Exec变量,对我来说它是cgnome-session。所以我的~/.vnc/xstartup是这样的:

#!/bin/sh
#unset SESSION_MANAGER
#unset DBUS_SESSION_BUS_ADDRESS
#exec startxfce4 


unset SESSION_MANAGER
#unset DBUS_SESSION_BUS_ADDRESS #测试中发现如果去掉该行注释 桌面不会出现
export XKL_XMODMAP_DISABLE=1
export XDG_CURRENT_DESKTOP="GNOME-Flashback:GNOME"
export XDG_MENU_PREFIX="gnome-flashback-"
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey    #设置背景色
vncconfig -iconic &
gnome-terminal &        #连接后会直接打开一个terminal窗口
nautilus &              #连接后会直接打开一个文件窗口
gnome-session --session=gnome-flashback-metacity --disable-acceleration-check &

之后使用vncserver -localhost no命令启动。

这个没有或者写错了会出现黑屏或者启动失败的情况

开一个文件窗口
gnome-session --session=gnome-flashback-metacity --disable-acceleration-check &

之后使用vncserver -localhost no命令启动。

这个没有或者写错了会出现黑屏或者启动失败的情况

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值