Ubuntu18.04 關于使用vnc的踩坑

由于種種原因,手上多了一臺可使用的桌面版Ubuntu,正好用來測試代碼,方便調試。因為只能遠程,所以需要配置遠程連接。因此就打算使用vnc進行遠程連接,誰料一路坎坷,特此記錄。

安裝

設置桌面共享
需要注意,18.04里的桌面共享改名為共享并集成到了設置菜單,所以搜索共享就行了。在這里插入圖片描述
找到屏幕共享,設置密碼并打開選項。在這里插入圖片描述
安裝vnc4server

sudo apt-get vnc4server

安裝dconf-editor取消權限限制

sudo apt-get install dconf-editor

找到 dconf-editor,直接搜索即可,然后打開,依次展開org->gnome->desktop->remote-access,然后取消 “requlre-encryption”的勾選。

在這里插入圖片描述
上述操作是在ubunut中完成的,下面操作就是windows方面,只要下載軟件測試即可。

TigerVNC的VNCview下載

32位:https://bintray.com/tigervnc/stable/download_file?file_path=vncviewer-1.9.0.exe
64位:https://bintray.com/tigervnc/stable/download_file?file_path=vncviewer64-1.9.0.exe

下載完直接可用。
以上如果是單人使用,完全夠了,不需要再捯飭別的(可能會碰到灰屏問題,下邊會說),但我是多用戶使用,就很扯淡。
問題1:多用戶使用問題
這里我弄的也不是很清楚,僅作為參考,首先執行vnc4server命令。

vnc4server :1

創建端口為1的vnc遠程桌面,輸入密碼,確認密碼。注意,不同用戶的端口號盡量不同,避免不必要的bug。
這里結束遠程桌面的命令是:

vnc4server -kill :1

問題2:灰屏,鼠標為x型,網絡上解決這類問題的辦法很多,主要都是修改配置文件,下載桌面。
首先安裝桌面,這里我是用的是xfce4

sudo apt install tightvncserver xfce4 xfce4-goodies -y

如果你想用gnone的話可以下載,使用下列代碼:

sudo apt-get install gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal

接下來就是最終要的一步,修改xstartup文件,路徑為~/.vnc/xstartup。建議先備份一下。

vim ~/.vnc/xstartup

如果使用gnone桌面,使用如下代碼:

#!/bin/sh
# Uncomment the following two lines for normal desktop:
export XKL_XMODMAP_DISABLE=1
unset SESSION_MANAGER
# exec /etc/X11/xinit/xinitrc
unset DBUS_SESSION_BUS_ADDRESS
gnome-panel &
gnmoe-settings-daemon &
metacity &
nautilus &
gnome-terminal &

如果使用xfce桌面,就粘貼如下代碼:

#!/bin/sh 
unset SESSION_MANAGER 
unset DBUS_SESSION_BUS_ADDRESS 
startxfce4 & 
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup 
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources 
xsetroot -solid grey

關閉vnc4server已經啟動的桌面,重新啟動。
測試灰屏問題解決與否。(建議使用xfce4,gnone桌面可能會碰見屏幕灰屏,無法右鍵,側邊欄展示不全等問題)

問題3:中文輸入法問題
如果你是自己使用的話一般碰不到這個問題,可以直接使用fcitx進行中文輸入,如果是多用戶的話可能會碰到這個問題,可以通過下了方法解決。

首先打開語言支持,添加中文,選擇使用fcitx。

在這里插入圖片描述
然后確保fcitx安裝完整。
我采用了很極端的方法,卸載掉fcitx重新安裝,這里不建議大家這么操作,因為可能會導致重啟后無法進入系統,所以卸載的話一定要慎重。千萬慎重,慎重。

 sudo apt-get remove fcitxsudo apt-get remove fcitx-module*sudo apt-get remove fcitx-frontend*sudo apt-get purge fcitx*

上述代碼不是被逼瘋了,別用。

下載fcitx

sudo apt-get install fcitx-bin
sudo apt-get install fcitx-pinyin

重啟后,啟動fcitx,重新配置,添加拼音雙拼,然后找個能輸入文字的地方測試,如果可以就不用往下看了。(瘋狂提醒:卸載軟件需謹慎
很不幸,如果上述操作無法解決,那我們繼續捯飭。

使用fcitx-diagnose命令查看配置可能會出現“Xim 服務名稱: “ibus” 與環境變量中設置的值 “fcitx” 不同.”提示。提示中也說了修復方法,添加環境變量。

編輯配置文件:

vim ~/.profile

添加下列代碼:

export XMODIFIERS=@im=fcitx
export XIM=fcitx
export XIM_PROGRAM=fcitx
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx

保存退出,執行

source ~/.profile

使環境變量生效。
重新啟動vnc遠程桌面,測試,我在執行完上述操作后問題就解決了(如果您的還不行,我這也沒有辦法了,歡迎評論區大佬討論吧。)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/536098.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/536098.shtml
英文地址,請注明出處:http://en.pswp.cn/news/536098.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

App_Shell模型

App_Shell模型 App Shell 架構是構建 Progressive Web App 的一種方式,這種應用能可靠且即時地加載到您的用戶屏幕上,與本機應用相似。 App shell是支持用戶界面所需的最小的 HTML、CSS 和 JavaScript,如果離線緩存,可確保在用戶重復訪問時提供即時、可靠的良好性能。這意…

Angular6_服務端渲染SSR

Angular6_服務端渲染 在使用服務端渲染之前,需要安裝最新版本的Angular。 npm install -g @angular/cli 或 cnpm install -g @angular/cli github項目 創建項目 ng new PWCat --routing 為項目添加universalng g universal --client-project=PWCat 或

Jenkins自定義主題教程

Jenkins自定義主題 由于Jenkins自帶的樣式比較丑陋,所以有很多第三方的樣式庫,這里針對jenkins-material-theme樣式庫做一個安裝教程。 下載樣式庫 下載連接 Select your color 選擇一個你喜歡的主題顏色。Choose your company logo 上傳你自定義的…

IndexedDB_Web 離線數據庫

IndexedDB_Web 離線數據庫 本文會從頭剖析一下 IndexedDB 在前端里面的應用的發展。 indexedDB 目前在前端慢慢得到普及和應用。它正朝著前端離線數據庫技術的步伐前進。以前一開始是 manifest、localStorage、cookie 再到 webSQL,現在 indexedDB 逐漸被各大瀏覽器認…

Angular 單元測試講解

Angular_單元測試 測試分類 按開發階段劃分按是否運行劃分按是否查看源代碼劃分其他ATDD,TDD,BDD,DDD ATDDTDDBDDDDDAngular單元測試 Karma的介紹jasmine介紹單元測試的好處使用jasmine和karma創建一個Angular項目Karma配置Test.ts文件測試體驗測試Form測試服務service常用斷言…

基于 Docker 的微服務架構

基于 Docker 的微服務架構-分布式企業級實踐前言Microservice 和 Docker服務發現模式客戶端發現模式Netflix-Eureka 服務端發現模式ConsulEtcdZookeeper 服務注冊自注冊模式 Self-registration pattern第三方注冊模式 Third party registration pattern小結一 服務間的 IPC 機制…

funcode游戲實訓,java及C/C++,網上整理

軟件,常見錯誤都有。 所有資源可到公眾號獲取(源碼也是),不再直接分享

Docker 容器部署 Consul 集群

Docker 容器部署 Consul 集群 Consul 介紹 Consul 提供了分布式系統的服務發現和配置的解決方案。基于go語言實現。并且在git上開放了源碼consul-git。consul還包括了分布式一致協議的實現,健康檢查和管理UI。Consul和zk相比較起來,更加輕量級&#xf…

swing皮膚包 substance

分享一下swing皮膚包substance 資源可到公眾號獲取

基于Android的聊天軟件,Socket即時通信,實現用戶在線聊天

基于Android的聊天軟件,Socket即時通信,單聊,聊天室,可自行擴展功能,完善細節。 【實例功能】 1.運行程序,登錄界面, 注冊賬號功能 2.進入主界面,有通訊錄, 個人信息。 3.點擊好友會話框&#…

用Docker搭建Elasticsearch集群

用Docker搭建Elasticsearch集群 對于用Docker搭建分布式Elasticsearhc集群的一個介紹,以及一些實施中遇到問題的總結 搜索服務簡述 結合業務的場景,在目前的商品體系需要構建搜索服務,主要是為了提供用戶更豐富的檢索場景以及高速&#xf…

Go實現簡單的RESTful_API

Go實現簡單的RESTful_API 何為RESTful API A RESTful API is an application program interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data. A RESTful API – also referred to as a RESTful web service – is based on representational state t…

Docker使用Dockerfile構建簡單鏡像

Docker使用Dockerfile構建簡單鏡像 首先確保系統已經安裝docker 構建鏡像 安裝基礎鏡像 sudo docker pull ubuntu 查看鏡像是否已經拉取成功 REPOSITORY TAG IMAGE ID CREATED SIZE ubuntu …

Weave Scope安裝

Weave Scope安裝 首先確保已經安裝docker 實時了解Docker容器狀態 查看容器基礎設施的概況,或者專注于一個特殊的微服務。從而輕松發現并糾正問題,確保你的容器化應用的穩定與性能。 內部細節與深度鏈接 查看容器的指標、標簽和元數據。 在一個可擴展…

MYSQL導入數據出現ERROR 1049 (42000): Unknown database 'n??;'

MYSQL導入數據出現ERROR 1049 (42000): Unknown database ‘n??;’ 背景 我需要將一個csv表中的數據導入數據庫創建好的表中,產生的問題如下: 原因尋找 因為我并沒有使用’n??;的數據庫,所以很好奇這個錯怎么來的,嘗試如下…

Win10忘記ubuntu子系統密碼

Win10忘記ubuntu子系統密碼 目前新版win10已經支持ubuntu子系統,如果忘記子系統密碼怎么辦? linux單用戶模式 在ubuntu中如果忘記密碼,可以在啟動的時候,在grub內更改用戶為root進入,這樣就可以使用最高權限的單用戶…

藍橋杯練習系統,入門訓練,Java版

藍橋杯練習系統,入門訓練,Java版序列求和圓的面積Fibonacci數列希望大家提建議我加以修改序列求和 import java.util.*; public class Main {public static void main(String[] args) {Scanner cinnew Scanner(System.in);long ncin.nextLong();System.…

SVG入門理解

SVG入門SVG 元素簡單的形狀rectcircleellipselinetextpath SVG 樣式分層和繪圖順序透明度 SVG入門 當我們用SVG生成和操作一些炫酷的效果時,D3是最佳選擇。使用div和其他原生HTML元素繪圖也是可以的,但是太笨重,而且會受到不同瀏覽器的限制&#xff0c…

【哈佛幸福課筆記】【1】

【哈佛幸福課筆記】【1】 ? ? 一個月的時間看完了哈佛幸福課,正如Tal所說課程的結束才是學習的開始。對于課程觀點的思考,對于個人習慣的培養,對于思維模式的轉變還需要花大量的時間去練習。這個系列的帖子將作為我個人的讀書筆記&#x…

Angular 6+ 之新版service

Angular 6+ 之新版service Angular 6已經發布了,Angular 6中有一些新功能,其中一個就是提供service的共享實例。 回首Angular 5- 下面是一段熟悉的代碼,可以為整個應用程序提供服務。我們將它添加到AppModule中的providers[]。 自定義服務類 // data.service.ts export c…