美文网首页
ubuntu 无显示器配置vnc服务器

ubuntu 无显示器配置vnc服务器

作者: iDeskAngel | 来源:发表于2020-05-05 09:47 被阅读0次

    Ubuntu 下如果没有接入显示器,vnc 会无法正常工作,所以需要做一些额外的操作来处理。

    配置 vino

    Ubuntu使用vino来作为默认的vnc服务器,但是默认的设置需要进行一些修改,特别是require-encryption这个标志,macos自带的vnc客户的不支持它的加密方式。

    
    gsettings set org.gnome.Vino require-encryption false
    
    gsettings set org.gnome.Vino prompt-enabled false
    
    gsettings set org.gnome.Vino authentication-methods "['vnc']"
    
    gsettings set org.gnome.Vino lock-screen-on-disconnect false
    
    gsettings set org.gnome.Vino vnc-password $(echo -n "mypassword"|base64)
    
    

    需要注意的是,不要用sudo来运行上面的命令,否则不但在ssh客户的操作时会有警告,而且修改的也不是当前的配置。

    自动启动 vino server

    随用户登录后,自动启动 vino server。编辑一个 vino-server.desktop 文件,如果 autostart 目录不存在,就创建一个。

    
    sudo vim ~/.config/autostart/vino-server.desktop
    
    

    填入如下内容:

    
    [Desktop Entry]
    
    Type=Application
    
    Name=Vino VNC server
    
    Exec=/usr/lib/vino/vino-server
    
    NoDisplay=true
    
    

    vino-server 不能在 console 中运行,所以需要在用户登录到桌面后用这样的方式自动启动。

    安装 video-dummy

    
    sudo apt install xserver-xorg-video-dummy
    
    

    配置 dummy 显示器

    /etc/X11下创建 xorg.conf 文件,填写分辨率等信息

    
    sudo vim /etc/X11/xorg.conf
    
    

    填写如下内容:

    
    Section "Monitor"
    
    Identifier "Monitor0"
    
    HorizSync 28.0-80.0
    
    VertRefresh 48.0-75.0
    
    # 1024x768 @ 60.00 Hz (GTF) hsync: 47.70 kHz; pclk: 64.11 MHz
    
    # Modeline "1024x768_60.00" 64.11 1024 1080 1184 1344 768 769 772 795 -HSync +Vsync
    
    # 1280x720 @ 60.00 Hz (GTF) hsync: 44.76 kHz; pclk: 74.48 MHz
    
    # Modeline "1280x720_60.00" 74.48 1280 1336 1472 1664 720 721 724 746 -HSync +Vsync
    
    # 1368x768 @ 60.00 Hz (GTF) hsync: 47.70 kHz; pclk: 85.86 MHz
    
    # Modeline "1368x768_60.00" 85.86 1368 1440 1584 1800 768 769 772 795 -HSync +Vsync
    
    # 1600x900 @ 60.00 Hz (GTF) hsync: 55.92 kHz; pclk: 119.00 MHz
    
    # Modeline "1600x900_60.00" 119.00 1600 1696 1864 2128 900 901 904 932 -HSync +Vsync
    
    # 1920x1080 @ 60.00 Hz (GTF) hsync: 67.08 kHz; pclk: 172.80 MHz
    
    Modeline "1920x1080_60.00" 172.80 1920 2040 2248 2576 1080 1081 1084 1118 -HSync +Vsync
    
    EndSection
    
    Section "Device"
    
    Identifier "Card0"
    
    Option "NoDDC" "true"
    
    Option "IgnoreEDID" "true"
    
    Driver "dummy"
    
    EndSection
    
    Section "Screen"
    
    DefaultDepth 16
    
    Identifier "Screen0"
    
    Device "Card0"
    
    Monitor "Monitor0"
    
        SubSection "Display"
    
        Depth 16
    
        Modes "1920x1080"
    
        EndSubSection
    
    EndSection
    
    

    配置用户自动登录桌面

    查看当前用的是什么管理器:

    
    cat /etc/X11/default-display-manager
    
    

    我的是/usr/sbin/gdm3,那么编辑文件:

    
    sudo vim /etc/gdm3/custom.conf
    
    

    把下面三行的注释去掉,其中AutomaticLogin行修改成自己的用户名。

    
    WaylandEnable=false
    
    AutomaticLoginEnable = true
    
    AutomaticLogin = username
    
    

    重启电脑,就可以登录了。

    重启桌面

    我通过 macos 的 Screen Sharing.app 用 vnc 协议来连接,查看 Ubuntu 的 Settings 的时候每次都会 crash,据说是 nvidia 的驱动问题,但是我没有深究,有兴趣的可以研究。

    crash 后,vino-server 就退出了,要再次启动的话,需要重启桌面管理。Ubuntu 18.04下,只需要运行:

    
    sudo systemctl restart display-manager
    
    

    问题

    这样配置后,如果再次接上显示器后,显示器会黑屏,这时候,需要把/etc/X11/xorg.conf删除或者改名,比如改成/etc/X11/xorg.conf.dummy,然后重启显示管理器:

    
    sudo systemctl restart display-manager
    
    

    即可。

    相关文章

      网友评论

          本文标题:ubuntu 无显示器配置vnc服务器

          本文链接:https://www.haomeiwen.com/subject/yjipghtx.html