VNC是一個遠程桌面協(xié)議。按照本文的說明進行操作可以實現(xiàn)用VNC對Ubuntu 20.04進行遠程控制。一般的VNC安裝方式在主機沒有插顯示器的時候是無法使用的。下面的操作可以在主機有顯示器和沒有顯示器時都能夠正常工作。
首先安裝x11vnc
sudo apt-get install x11vnc -y
設(shè)置vnc密碼
sudo x11vnc -storepasswd /etc/x11vnc.pass
創(chuàng)建x11vnc自啟動服務
創(chuàng)建 /etc/systemd/system/x11vnc.service,并寫入以下內(nèi)容
[Unit]
Description=Start x11vnc at startup.
After=multi-user.target
[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -auth /run/user/1000/gdm/Xauthority -forever -loop -noxdamage -repeat -rfbauth /etc/x11vnc.pass -rfbport 5900 -shared
[Install]
WantedBy=multi-user.target
啟動x11vnc服務
sudo systemctl enable x11vnc
sudo service x11vnc start
此時如果遠程的主機上接了顯示器,那么就可以在局域網(wǎng)通過VNC進行訪問了。
為了能夠保證遠程主機無論是否有顯示器,我們都能通過VNC進行遠程訪問,我們還要做下面的修改
創(chuàng)建默認的xorg.conf文件
此時程序會生成 /root/xorg.conf.new文件
我的默認文件內(nèi)容如下
Section "ServerLayout"
Identifier "X.org Configured"
Screen 0 "Screen0" 0 0
InputDevice "Mouse0" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"
EndSection
Section "Files"
ModulePath "/usr/lib/xorg/modules"
FontPath "/usr/share/fonts/X11/misc"
FontPath "/usr/share/fonts/X11/cyrillic"
FontPath "/usr/share/fonts/X11/100dpi/:unscaled"
FontPath "/usr/share/fonts/X11/75dpi/:unscaled"
FontPath "/usr/share/fonts/X11/Type1"
FontPath "/usr/share/fonts/X11/100dpi"
FontPath "/usr/share/fonts/X11/75dpi"
FontPath "built-ins"
EndSection
Section "Module"
Load "glx"
EndSection
Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
EndSection
Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/input/mice"
Option "ZAxisMapping" "4 5 6 7"
EndSection
Section "Monitor"
Identifier "Monitor0"
VendorName "Monitor Vendor"
ModelName "Monitor Model"
EndSection
Section "Device"
### Available Driver options are:-
### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
### <string>: "String", <freq>: "<f> Hz/kHz/MHz",
### <percent>: "<f>%"
### [arg]: arg optional
#Option "Accel" # [<bool>]
#Option "AccelMethod" # <str>
#Option "Backlight" # <str>
#Option "CustomEDID" # <str>
#Option "DRI" # <str>
#Option "Present" # [<bool>]
#Option "ColorKey" # <i>
#Option "VideoKey" # <i>
#Option "Tiling" # [<bool>]
#Option "LinearFramebuffer" # [<bool>]
#Option "HWRotation" # [<bool>]
#Option "VSync" # [<bool>]
#Option "PageFlip" # [<bool>]
#Option "SwapbuffersWait" # [<bool>]
#Option "TripleBuffer" # [<bool>]
#Option "XvPreferOverlay" # [<bool>]
#Option "HotPlug" # [<bool>]
#Option "ReprobeOutputs" # [<bool>]
#Option "XvMC" # [<bool>]
#Option "ZaphodHeads" # <str>
#Option "VirtualHeads" # <i>
#Option "TearFree" # [<bool>]
#Option "PerCrtcPixmaps" # [<bool>]
#Option "FallbackDebug" # [<bool>]
#Option "DebugFlushBatches" # [<bool>]
#Option "DebugFlushCaches" # [<bool>]
#Option "DebugWait" # [<bool>]
#Option "BufferCache" # [<bool>]
Identifier "Card0"
Driver "intel"
BusID "PCI:0:2:0"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
SubSection "Display"
Viewport 0 0
Depth 1
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 4
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 8
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 15
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 16
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 24
EndSubSection
EndSection
將此文件復制至 /usr/share/X11/xorg.conf.d/xorg.conf
這個文件保證在主機上插有顯示器的時候,系統(tǒng)界面能在顯示器上正常顯示。下面我們再給系統(tǒng)添加一個虛擬顯示器,當主機沒有顯示器的時候系統(tǒng)就使用這個虛擬顯示器。
安裝虛擬顯卡驅(qū)動
sudo apt install xserver-xorg-video-dummy
在這個文件的最后添加下面的內(nèi)容
Section "Monitor"
Identifier "Monitor1"
HorizSync 1.0 - 2000.0
VertRefresh 1.0 - 200.0
# Add 16:9 modes, others are automatically detected.
Modeline "1280x720" 74.48 1280 1336 1472 1664 720 721 724 746
Modeline "1920x1080" 172.80 1920 2040 2248 2576 1080 1081 1084 1118
EndSection
Section "Device"
Identifier "Card1"
Driver "dummy"
VideoRam 256000
EndSection
Section "Screen"
DefaultDepth 24
Identifier "Screen1"
Device "Card1"
Monitor "Monitor1"
SubSection "Display"
Depth 24
Modes "1920x1080"
EndSubSection
EndSection
這樣我們就創(chuàng)建了一個使用虛擬顯卡的虛擬顯示器。為了讓虛擬的顯示器和真實顯示器都能工作,我們需要把最上面的ServerLayout 進行更改
Section "ServerLayout"
Identifier "X.org Configured"
Screen 0 "Screen0" 0 0
Screen 1 "Screen1" 0 0
EndSection
現(xiàn)在重新啟動遠程電腦,就可以在沒有顯示器的情況下遠程了。
以上的方法還有一個問題。就是在用戶沒有登錄的其情況下是沒辦法遠程的。所以需要把用戶設(shè)置成自動登錄。
到此這篇關(guān)于Ubuntu20.04 VNC 安裝與設(shè)置實現(xiàn)的文章就介紹到這了,更多相關(guān)Ubuntu20.04 VNC 安裝與設(shè)置內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!