首页 > 系统相关 >配置云服务器(Ubuntu)的vnc守护进程(服务)

配置云服务器(Ubuntu)的vnc守护进程(服务)

时间:2022-11-20 15:07:25浏览次数:62  
标签:vnc gnome -- vncserver session usr Ubuntu 服务器



tags: Ubuntu Server

写在前面

之前配置过了基于Ubuntu的阿里云服务器, 并且通过vnc远程查看UI界面, 但是美中不足的一点就是每次开启ssh会话都要重新输入​​vncserver -kill :1​​​和​​vncserver -geometry 1920x1080 :1​​, 很不方便.

查看Google发现有人也遇到了这个问题, 并且给出了创建​​systemd​​服务的解决方案​1​​, 下面来看看这是如何配置和实现的.

方法

下面我的操作均在​​root​​用户下.

安装

首先需要安装vnc的服务端, 这里我已经安装过了, 用的是​​vnc4server​​​, (需要通过​​aptitude​​​以及换源安装), 当然如果直接用​​apt​​​的话可以安装​​tightvncserver​​, 这里就不赘述了.

可以通过​​vncserver​​检查一下安装情况, 然后输入密码并确认密码, 之后连接的话需要用到的.

You will require a password to access your desktops.

Password:
Verify:

然后就是配置守护进程了. 在此之前你应该已经开启了对应的端口​​5900​​​以及​​5901​​, 并打开了对应的防火墙. 具体方法看我之前的文章.

先kill掉进程, 方便后序操作:

vncserver -kill :1

vnc配置文件

修改一下配置文件, 在此之前先备份:

mv ~/.vnc/xstartup ~/.vnc/xstartup.bak

修改

vi ~/.vnc/xstartup

改为:

#!/bin/sh

export XKL_XMODMAP_DISABLE=1
export XDG_CURRENT_DESKTOP="GNOME-Flashback:GNOME"
export XDG_MENU_PREFIX="gnome-flashback-"
gnome-session --session=gnome-flashback-metacity --disable-acceleration-check &
# vncconfig &

最后一行据说是开启剪贴板的,但事实上并没有用, 我就注释掉了.

修改访问权限:

chmod +x ~/.vnc/xstartup

服务配置

先创建一个文件:

cd /etc/systemd/system/
vi [email protected]

写入如下内容:(当然也可以用非root用户, 我这里为省事用​​/root​​)

[Unit]
Description=Start VNC server at startup
After=syslog.target network.target

[Service]
Type=forking
User=root
WorkingDirectory=/root

PIDFile=/root/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver -depth 24 -geometry 1920x1080 :%i
ExecStop=/usr/bin/vncserver -kill :%i

[Install]
WantedBy=multi-user.target

这里跟​​1​​​中的内容有出入, 因为里面是访问本地网络中的Ubuntu, 而我们这里需要访问公网IP上的, 就不能加​​-localhost​​选项, 否则就算创建成功也连不上…(小坑)

简单解释一下就是创建有网络连接时候启动的服务, 启动之前先kill掉打开的vnc进程, 然后开启一个1920x1080的窗口, 最后在服务结束之后kill掉vnc后台服务.

最后就是启动服务并设置开机启动, 三条命令一套完成:

sudo systemctl daemon-reload
sudo systemctl enable [email protected]
sudo systemctl start vncserver@1

看一下状态:

sudo systemctl status vncserver@1

绿点点就对了:

[email protected] - Start VNC server at startup
Loaded: loaded (/etc/systemd/system/[email protected]; enabled; vendor preset: enabled)
Active: active (running) since Wed 2022-11-16 19:06:14 CST; 1 day 1h ago
Main PID: 890 (Xvnc4)
Tasks: 223 (limit: 4432)
Memory: 387.7M
CGroup: /system.slice/system-vncserver.slice/[email protected]
├─ 890 Xvnc4 :1 -desktop xxx:1 (root) -auth /root/.Xauthority -geometry 1920x1080 -depth 24 -rfb>
├─1174 /usr/libexec/gnome-session-binary --builtin --session=gnome-flashback-metacity --disable-acceleration-check
├─1203 dbus-launch --exit-with-session /usr/libexec/gnome-session-binary --builtin --session=gnome-flashback-metacit>
├─1211 /usr/bin/dbus-daemon --syslog --fork --print-pid 5 --print-address 7 --session
├─1371 /usr/libexec/gvfsd
├─1392 /usr/libexec/gvfsd-fuse /root/.cache/gvfs -f -o big_writes
├─1431 /usr/bin/gnome-keyring-daemon --start --components=ssh
├─1496 /usr/libexec/gsd-smartcard
├─1498 /usr/lib/gnome-flashback/gnome-flashback-clipboard
├─1500 /usr/libexec/gsd-housekeeping
├─1503 /usr/libexec/gsd-power
├─1508 gnome-flashback

这样的话不管是重启服务器还是重新开启一个ssh会话, 只要服务器在运行, 就能丝滑连接vnc服务并查看图形化界面, 还是很方便的.

ref


  1. ​How to Install and Configure VNC on Ubuntu 20.04 | DigitalOcean​​; ↩︎ ↩︎


标签:vnc,gnome,--,vncserver,session,usr,Ubuntu,服务器
From: https://blog.51cto.com/u_15366127/5871434

相关文章

  • Tmux、SSH、服务器
    Tmux1.windows安装tmux使用​​MobaXterm​​安装,输入以下命令行即可。aptinstalltmux2.tmux启动与退出启动:tmux退出:exitorctrl+Dtmux复制粘贴复制——不用设置,MobaXTer......
  • 白嫖永久服务器1668918929902
    阿贝云服务器注册免费领取1核1g内存5m宽带10g内存的云服务器,对于个人来说完全够用了。还有免费备案和虚拟主机,免备案对于搭建个人博客就很方便,部署了小项目上去,运行流畅不......
  • Ubuntu允许root用户登录
    Ubuntu允许root用户登录由于ubuntu默认不允许root用户远程登录,则需要以下设置:‍以普通用户登录到目标服务器ssh<UserName>@<IPAddress>切换到root用户并设置......
  • unix网络编程2.2——高并发服务器(二)多进程与多线程实现
    目录前置文章unix网络编程1.1——TCP协议详解(一):https://www.cnblogs.com/kongweisi/p/16882787.htmlunix网络编程2.1——高并发服务器(一)基础——io与文件描述符、socket编......
  • 服务器
    关于0.0.0.0:8000,服务器会在本地的内网上监听请求如果有请求:8.134.135.119:8000(公网ip)则本服务器会返回数据 那么问题来了:如果该内网中有两台服务器同时设置了0.0.0.0......
  • Ubuntu 桌面系统升级
    背景之前在学习ROS2时,安装 ros-humble-desktop 出现依赖错误:无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。依赖错误该问题需要升......
  • SQLserver服务器启动不了解决方案(端口占用异常)
    一、问题描述: 二、问题原因:排查方法1:telnet127.0.0.11433看能ping通不能,如果不能说明端口被占用。排查方法2:打开“计算机管理”→“系统工具”→“事件查看器”......
  • 虚拟机Ubuntu环境下的Linux驱动开发环境搭建
    安装Ubuntu版本longtime版本,目前最新是22.04,下边是下载网址https://ubuntu.com/download/desktop具体的安装虚拟机和Ubuntu的教程,下边是参考教程网址https://blog.csd......
  • Ubuntu 安装postgresql
    一、安装$sudosh-c'echo"debhttp://apt.postgresql.org/pub/repos/apt$(lsb_release-cs)-pgdgmain">/etc/apt/sources.list.d/pgdg.list'$wget--quiet-O-......
  • NTP网络授时服务器(NTP服务器)助力智慧城市网络系统
    NTP网络授时服务器(NTP服务器)助力智慧城市网络系统京准电子科技官微——ahjzsz智慧城市建设行动框架为:一个“城市大脑”、一个数据资源中心、一套智能基础设施、五大智能......