内容转载自我的博客

1. ubuntu共享桌面

在ubuntu桌面发行版打开屏幕共享功能,步骤如下:

设置-->共享-->屏幕共享
打开总开关
允许连接控制屏幕
需要密码(自己设置密码,最多8位)
网络打开
设置-->共享-->远程登录
打开总开关

查看当前用户占用的共享桌面端口lsof -i:5900

zfb@my-Server:~/build$ lsof -i:5900
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
vino-serv 4308 zfb 11u IPv6 12350285 0t0 TCP *:5900 (LISTEN)
vino-serv 4308 zfb 12u IPv4 12350286 0t0 TCP *:5900 (LISTEN)

本用户只能看到自己占用的端口,一般从5900开始,一个用户占用一个,只有开启共享的用户才占用。例如,用户root1和用户zfb都开启了共享,则用户zfb执行命令lsof -i:5900lsof -i:5901lsof -i:5902,只有一个命令有返回结果,即自己占用的那个端口。但是,使用命令ss -lnt可以看到5900-5902端口都在被占用,只是无法看到具体进程和用户

2. 局域网登录远程桌面

2.1 ubuntu使用remmina登录远程桌面

打开软件remmina,选择VNC协议,输入要连接的机器的地址192.168.10.11:5900(附带端口),然后会提示输入密码,这里要输入5900端口对应的那个用户的密码(共享桌面密码,不是用户密码),即可成功看到桌面。

2.2 在windows登录远程桌面

下载vnc viewer并安装,打开软件,根据提示输入ip地址192.168.10.11:5900,如果提示加密策略不一致。那么需要回到开启桌面共享的ubuntu机器上,输入以下命令关闭加密即可

gsettings set org.gnome.Vino require-encryption false

或者安装dconf-editor工具进行配置,输入以下命令即可安装:

sudo apt-get install dconf-editor

然后桌面搜索dconf-editor打开,依次展开org->gnome->desktop->remote-access,然后取消requlre-encryption的勾选即可

2.3 Android使用RD Client登录远程桌面

下载安装Microsoft Remote Desktop软件,打开软件添加Desktop,设置PC name192.168.10.11:5900Additional Options根据需要设置,然后保存,单击即可连接

3. 外网登录远程桌面

3.1 方法一

前提:

  • 可以在外网使用ssh访问内网的ubuntu机器(比如使用frp进行内网穿透,公网云主机的ip为56.78.12.34,这台内网服务器的frpc.ini文件中配置的远程ssh端口为7001
  • 内网ubuntu服务器已经开启桌面共享

使用如下代码通过公网云主机ssh远程连接到内网的ubuntu服务器,并且把服务器的5901端口映射到用户本地的8080端口

ssh -p 7001 -NL localhost:8080:localhost:5900 zfb@56.78.12.34

此命令无回显输出,用户直接使用支持vnc的软件在本地打开即可,远程地址填写为127.0.0.1:8080,根据提示输入密码(内网ubuntu机器开启桌面共享时设置的密码)

特点: 此方法可以使用zfb的用户名和密码查看其他用户(例如root)的远程桌面,命令如下

ssh -p 7001 -NL localhost:8080:localhost:5901 zfb@56.78.12.34

相比上一条命令,只是修改为5901端口(root用户的监听端口)

3.2 方法二

使用frp转发此端口(远程桌面监听的端口,一般从5900开始),具体方法为:

  • 若已配置过frp转发ssh内网穿透,则云主机的frps.ini不需要任何变化
  • 此方法的所有修改仅限于内网机器的frpc.ini文件,在文件中添加以下内容:
[rdp]
type = tcp
local_ip = 127.0.0.1
# 假如只需要转发占用5901端口的用户的桌面
local_port = 5900
# 可以任意设置公网云主机的端口,不要与其他服务冲突即可
remote_port = 9901
  • 公网云主机安全策略要放通9901端口

用户直接使用支持vnc的软件在本地打开即可,远程地址填写为56.78.12.34:9901,根据提示输入密码(内网ubuntu机器开启桌面共享时设置的密码)

注意: 2、3和4都只能在用户登录之后(显示屏上的桌面为该用户时)才能显示画面,否则不行

4. 安装xrdp实现多用户登录远程桌面

根据教程,下载压缩包解压得到脚本,(最好在root用户)执行即可。然后登出桌面环境,此时即可通过3389端口利用rdp协议登录xorg桌面,多个用户都可以登录,且可以同时登录,但是物理机器要保留在登录界面

注意: 同一个用户,本地和远程同时只能登录一个

此步骤与前面不冲突,是一种新的方法(也许依赖第一步),VNC仍然需要登录才可用

使用frp对本地3389端口进行内网穿透,只需要修改frp客户端配置

[rdp]
type = tcp
local_ip = 127.0.0.1
# 假如只需要转发占用3389端口的用户的桌面
local_port = 3389
# 可以任意设置公网云主机的端口,不要与其他服务冲突即可
remote_port = 6689

在远程桌面遇到终端报错Transport endpoint is not connected,且看到桌面有thinclient_drives驱动器时的解决办法

可以使用代码sudo umount -f thinclient_drives来解决,但是此时共享剪切板和跨设备复制粘贴文件就不能用了

最好可以重新登陆一次,也许就正常了

ubuntu系统共享桌面的使用和配置的更多相关文章

  1. Ubuntu系统下《汇编语言》环境配置

    说明 1.系统:Ubuntu codists@pc:~$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Des ...

  2. Linux日常之Ubuntu系统中sendmail的安装、配置、发送邮件

    一. 安装 1. sendmail必须先要安装两个包 (1)sudo apt-get install sendmail (2)sudo apt-get install sendmail-cf 2. u ...

  3. ubuntu系统jdk安装及环境变量配置

    一.安装jdk 1.下载linux版本jdk,我用的是最新版本1.8.0_102 2.打开终端,进入jdk的存放路径 3.解压.tar.gz文件 sudo tar zxvf jdk-8u102-lin ...

  4. Ubuntu系统的安装(虚拟机) 并配置C/C++编译器

    一.系统的初始化配置 1.配置静态IP和DNS 配置静态IP 1.sudo vim /etc/network/interfaces,修改文件内容如下: auto eth0  #表示让网卡开机自动挂载e ...

  5. 安装Ubuntu系统后的配置工作

    目录 卸载webapps和LibreOffice 修改软件更新和安装的apt源 修改安装python库的pip源 安装并设置搜狗输入法 安装vim.git.pip和tweak软件 修改用户主目录下的文 ...

  6. Ubuntu系统---安装“搜狗拼音法”导致桌面打不开

    Ubuntu系统---安装“搜狗拼音法”导致桌面打不开 ubuntu系统中文版,安装完后,自带中文输入法.中文用着好好的,用一段时间后,就会莫名的出现,切换不过来,中文输入不好用了.只是简单想装一个搜 ...

  7. 一看就懂的Ubuntu系统下samba服务器安装配置教程

    文章目录 前言 环境搭建 安装 配置 Examples 1 创建共享(任何人都可以访问) 2 单用户权限(需要密码访问) 添加samba用户 配置参数 3 支持游客访问(单用户拥有管理员权限) 前言 ...

  8. Win10 下安装Ubuntu 21.04桌面版 双系统 并设置win10为默认启动系统 详细教程

    @ 目录 〇.写在前面 〇 - Plus:如何进入BIOS 〇 - Plus - Plus:U盘启动快捷键 一.磁盘分区:Win10划分未分配空间 二.下载Ubuntu 21.04镜像 三.安装U盘启 ...

  9. vncserver和Ubuntu Xfce4远程桌面环境的配置,解决不显示图形界面

    vncserver和Ubuntu Xfce4远程桌面环境的配置 参考的http://blog.163.com/thinki_cao/blog/static/8394487520130301453180 ...

随机推荐

  1. kafka 通俗

    把broker比作是一幢摩天大楼,一个10节点的kafka集群就是10幢摩天大楼,而且这些大楼都长得一模一样.分区就相当于大楼里的一层.一个分区就相当于一整层哦.原先大楼是空的.现在用户创建了一个to ...

  2. Pytest(18)pytest接口自动化完整框架思维导图

    pytest接口自动化完整框架思维导图

  3. E - Period(KMP中next数组的运用)

    一个带有 n 个字符的字符串 s ,要求找出 s 的前缀中具有循环结构的字符子串,也就是要输出具有循环结构的前缀的最后一个数下标与其对应最大循环次数.(次数要求至少为2) For each prefi ...

  4. 牛客练习赛53 E-老瞎眼pk小鲜肉(思维+线段树+离线)

    前言 听说是线段树离线查询?? 做题做着做着慢慢对离线操作有点感觉了,不过也还没参透,等再做些题目再来讨论离线.在线操作. 这题赛后看代码发现有人用的树状数组,$tql$.当然能用树状数组写的线段树也 ...

  5. 回溯法、子集树、排列树、满m叉树

    显示图: 明确给出了图中的各顶点及边 隐式图: 仅给出初始节点.目标节点及产生子节点的条件(一般有问题提议隐含给出)的情况下,构造一个图. 回溯法: 从初始状态出发,在隐式图中以深度优先的方式搜索问题 ...

  6. Codeforces Round #652 (Div. 2) B. AccurateLee(字符串)

    题目链接:https://codeforces.com/contest/1369/problem/B 题意 给出一个长 $n$ 的 二进制串,每次可以选择字符串中的一个 $10$,然后删除其中的一个字 ...

  7. Scanner用户交互

    Scanner用户交互 Scanner对象 引入语法: Scanner scanner=new Scanner(System.in);(固定的) 小写scanner为定义的名称 scanner.clo ...

  8. Gym - 101981D Country Meow(模拟退火)题解

    题意: 给\(n\)个三维点,问最小覆盖球的半径. 思路: 模拟退火. 代码: #include<set> #include<map> #include<cmath> ...

  9. 这些不可不知的JVM知识,我都用思维导图整理好了

    JVM是面试中必问的部分,本文通过思维导图以面向面试的角度整理JVM中不可不知的知识. 先上图: 1.JVM基本概念 1.1.JVM是什么 JVM 的全称是 「Java Virtual Machine ...

  10. NoSQL 数据库案例实战 -- MongoDB数据备份、恢复

    MySQL数据迁移到MongoDB数据库中 前言 一.数据备份 二.数据恢复 前言 本环境是基于 Centos 7.8 系统构建mongodb-enterprise-4.2.8学习环境具体构建,请参考 ...