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.mzph.cn/news/536098.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

App_Shell模型

App_Shell模型 App Shell 架构是构建 Progressive Web App 的一种方式,这种应用能可靠且即时地加载到您的用户屏幕上,与本机应用相似。 App shell是支持用户界面所需的最小的 HTML、CSS 和 JavaScript,如果离线缓存,可确保在用户重复访问时提供即时、可靠的良好性能。这意…

Jenkins自定义主题教程

Jenkins自定义主题 由于Jenkins自带的样式比较丑陋,所以有很多第三方的样式库,这里针对jenkins-material-theme样式库做一个安装教程。 下载样式库 下载连接 Select your color 选择一个你喜欢的主题颜色。Choose your company logo 上传你自定义的…

IndexedDB_Web 离线数据库

IndexedDB_Web 离线数据库 本文会从头剖析一下 IndexedDB 在前端里面的应用的发展。 indexedDB 目前在前端慢慢得到普及和应用。它正朝着前端离线数据库技术的步伐前进。以前一开始是 manifest、localStorage、cookie 再到 webSQL,现在 indexedDB 逐渐被各大浏览器认…

基于 Docker 的微服务架构

基于 Docker 的微服务架构-分布式企业级实践前言Microservice 和 Docker服务发现模式客户端发现模式Netflix-Eureka 服务端发现模式ConsulEtcdZookeeper 服务注册自注册模式 Self-registration pattern第三方注册模式 Third party registration pattern小结一 服务间的 IPC 机制…

funcode游戏实训,java及C/C++,网上整理

软件,常见错误都有。 所有资源可到公众号获取(源码也是),不再直接分享

swing皮肤包 substance

分享一下swing皮肤包substance 资源可到公众号获取

基于Android的聊天软件,Socket即时通信,实现用户在线聊天

基于Android的聊天软件,Socket即时通信,单聊,聊天室,可自行扩展功能,完善细节。 【实例功能】 1.运行程序,登录界面, 注册账号功能 2.进入主界面,有通讯录, 个人信息。 3.点击好友会话框&#…

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…

Weave Scope安装

Weave Scope安装 首先确保已经安装docker 实时了解Docker容器状态 查看容器基础设施的概况,或者专注于一个特殊的微服务。从而轻松发现并纠正问题,确保你的容器化应用的稳定与性能。 内部细节与深度链接 查看容器的指标、标签和元数据。 在一个可扩展…

MYSQL导入数据出现ERROR 1049 (42000): Unknown database 'n??;'

MYSQL导入数据出现ERROR 1049 (42000): Unknown database ‘n??;’ 背景 我需要将一个csv表中的数据导入数据库创建好的表中,产生的问题如下: 原因寻找 因为我并没有使用’n??;的数据库,所以很好奇这个错怎么来的,尝试如下…

SVG入门理解

SVG入门SVG 元素简单的形状rectcircleellipselinetextpath SVG 样式分层和绘图顺序透明度 SVG入门 当我们用SVG生成和操作一些炫酷的效果时,D3是最佳选择。使用div和其他原生HTML元素绘图也是可以的,但是太笨重,而且会受到不同浏览器的限制&#xff0c…

【哈佛幸福课笔记】【1】

【哈佛幸福课笔记】【1】 ​ ​ 一个月的时间看完了哈佛幸福课,正如Tal所说课程的结束才是学习的开始。对于课程观点的思考,对于个人习惯的培养,对于思维模式的转变还需要花大量的时间去练习。这个系列的帖子将作为我个人的读书笔记&#x…

RAID阵列基础知识

RAID阵列基础知识 独立硬盘冗余阵列 (RAID, Redundant Array of Independent Disks),旧称廉价磁盘冗余阵列(Redundant Array of Inexpensive Disks),简称磁盘阵列。 RAID的种类 这里我们只介绍比较常用的RAID类型&am…

timeshift备份你的Linux系统

timeshift备份你的Linux系统 安装 打开终端(ctrl alt T)并逐个执行以下命令 sudo apt-add-repository -y ppa:teejee2008/ppa sudo apt-get update sudo apt-get install timeshift 创建 点击Create按钮 默认不能备份用户下的文件,所以…

Go语言vscode环境配置

Go语言vscode环境配置 此教程在GO已经安装成功的前提下。 安装vscode扩展 在vscode扩展里面搜索go,然后下载扩展。 安装go 插件 在$GOPATH目录下创建bin,pkg,src切换到$GOPATH/bin目录下,打开终端输入以下命令,不需要翻墙: go…

消息队列-Message Queue

消息队列-Message Queue 目前随着互联网的普及以及上网用户的增多,拥有一套 安全、稳定、低耦合、高性能的内部通信工具尤为重要。 什么是消息队列? 消息队列(英语:Message queue)是一种进程间通信或同一进程的不同线…

Angular 第一章 开始

第一章 开始 用 JavaScript 开发应用程序是一个很大的挑战。由于它的延展性和缺少类型检查,在 JavaScript 中构建一个适当大小的应用程序是很困难的。除此之外,我们对所有类型的处理都使用JavaScript,例如用户界面(UI),操作、客户端-服务器交互和业务处理/验证。因此,我们…

Typescript实现单例之父类调用子类

Typescript实现单例之父类调用子类 设计要求 在程序中,需要一个对象可以全局使用,并且只有一个实例Breakpoint 类是一个可以被继承的类,然后子类必须实现 updateView函数updateView 这个函数可以被自动调用,当窗口发生变化的时候构思 UML 图 Layout 是一个单例类,也就是全局只…

Angular性能优化之脏检测

Angular性能优化之脏检测 当我们在使用 Angular 框架搭建项目时,随着组件越来越多,页面也来越复杂,性能会越来越低,主要表现在 CPU 使用率 很高。所以我们要对项目做一定的优化。 Angular脏检查(Change Detection)机制 Angular 的脏检测主要是指 zone.js,这是一个开源的…

linux安装zsh终端

linux安装zsh终端 ZSH 已经被收录到了 Ubuntu 18.04 LTS 的官方软件包存储库中了 sudo apt install zshZSH Shell 安装好之后,可以使用如下命令查看其版本: zsh --version取代bash,设为默认shell sudo usermod -s /bin/zsh username也可以…