ubuntu安装vnc(复制输出主屏幕)

建议使用x11vnc

安装

sudo apt update
sudo apt install x11vnc

设置密码

sudo -u ylang mkdir -p /home/ylang/.vnc
sudo chmod 700 /home/ylang/.vnc
sudo -u ylang x11vnc -storepasswd /home/ylang/.vnc/passwd

获取屏幕号

w
 01:33:18 up 10 min,  1 user,  load average: 1.01, 0.67, 0.40
USER     TTY      来自           LOGIN@   IDLE   JCPU   PCPU WHAT
user1    :0       :0               01:22   ?xdm?   8:09   0.00s /usr/lib/gdm3/gdm-x-session --run-script env GNOME_SHELL_SESSIO

测试输出

x11vnc -display :0

建立服务

sudo nano /etc/systemd/system/x11vnc.service
[Unit]
Description=Start x11vnc at startup
After=display-manager.service
Requires=display-manager.service

[Service]
ExecStartPre=/bin/sleep 5  # 等待 5 秒钟,确保虚拟显示器启动
ExecStart=/usr/bin/x11vnc -display :0
Restart=always
User=ylang
Group=ylang

[Install]
WantedBy=multi-user.target

四件套

sudo systemctl daemon-reload
sudo systemctl enable x11vnc
sudo systemctl start x11vnc
sudo systemctl status x11vnc

对于没有连接hdmi的情况请打开自动登录
如果因为特殊情况不能打开的则需要创建两个vnc的服务
首先因为没有输出所以要先创建一个虚拟显示输出

安装

sudo apt-get install xserver-xorg-video-dummy
sudo nano /etc/X11/xorg.conf

输入一下内容

Section "Monitor"
    Identifier "Monitor0"
    HorizSync 28.0-80.0
    VertRefresh 48.0-75.0
    Modeline "1920x1080_60.00" 172.80 1920 2040 2248 2576 1080 1081 1084 1118 -HSync +Vsync
EndSection

Section "Device"
    Identifier "Card0"
    Driver "dummy"
    VideoRam 256000
EndSection

Section "Screen"
    DefaultDepth 24
    Identifier "Screen0"
    Device "Card0"
    Monitor "Monitor0"
    SubSection "Display"
        Depth 24
        Modes "1920x1080_60.00"
    EndSubSection
EndSection

######################################################不需要了

然后创建两个服务(如果自动登陆仅仅需要创建一个)

sudo nano /etc/systemd/system/x11vnc-
x11vnc-gdm.service   x11vnc-user.service  

x11vnc-gdm.service

[Unit]
Description=x11vnc Service for GDM Login Screen on Display :0
After=display-manager.service

[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -auth /run/user/118/gdm/Xauthority -display :0 -rfbport 5900 -forever -loop -noxdamage
User=root
Restart=on-watchdog

[Install]
WantedBy=multi-user.target

以上的118不是固定的在这里UID为118的用户是为gdm(GNOME Display Manager)服务创建的“系统用户”
x11vnc-user.service

[Unit]
Description=x11vnc Service for User Session on Display :1
After=graphical-session.target

[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -auth /home/user-name/.Xauthority -display :1 -rfbport 5901 -forever -loop -noxdamage
User=user-name    
Restart=on-failure
Environment=DISPLAY=:1

[Install]
WantedBy=default.target

这里的username要输入你登陆的账户

然后在vnc中就有两个连接
ip:5900用于登陆
ip:5901用于登陆后的远程桌面

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值