内容转载自我的博客

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. fiddler抓包+安卓机 完成手机app抓包的配置 遇到的一些问题

    fiddler抓包+安卓模拟器完成手机app抓包的配置:fiddler抓包+雷电模拟器 完成手机app抓包的配置 其实在安卓真机上弄比在虚拟机上弄更麻烦一点,它们的步骤都差不多一样,就是在安卓真机上弄 ...

  2. 牛客编程巅峰赛S2第10场 - 钻石&王者 C.牛牛的路径和 (位运算,dfs)

    题意:给你节点数为\(n\)的树,每个节点都有自己的权值,求所有路径的上的点的权值按位与的和. 题解:题目给的数据很大,我们不能直接去找.因此我们可以枚举二进制\([1,20]\)的每一位,然后再枚举 ...

  3. M1 MacBook安装Homebrew

    在装载M1芯片的MacBook产品上,默认是不带有homebrew这款包管理工具的,具体原因官方解释为适配问题,原有的homebrew无法与silicon Mac机型匹配.但是这并不意味着我们不可以在 ...

  4. leetcode10 正则表达式匹配 dp

    刚好最近在学编译原理 有点想按照语法分析写..不过用不着 因为知道正则表达式对一个串可能有多种匹配方法,所以要准备好回溯. 有最优子结构,一段s由一段p生成,于是dp. 常规思路是从前开始逐个字符匹配 ...

  5. JAVA中高精度金额计算

    一般java代码中遇到高精度金额计算,日常使用bigDecimal类型. 在使用BigDecimal类来进行计算的时候,主要分为以下步骤: 1.用float或者double变量构建BigDecimal ...

  6. Spring(一)概述

    Spring 的前世今生 相信经历过不使用框架开发 Web 项目的 70 后.80 后都会有如此感触,如今的程序员开发项目太轻松 了,基本只需要关心业务如何实现,通用技术问题只需要集成框架便可.早在 ...

  7. Design Patterns All in One (JavaScript Version)

    Design Patterns All in One (JavaScript Version) JavaScript 设计模式 JavaScript 数据结构 23种设计模式分为 3 大类: 创建型模 ...

  8. 使用 js 实现一个简易版的 GIPHY 动图搜索 web 应用程序

    使用 js 实现一个简易版的 GIPHY 动图搜索 web 应用程序 具有挑战性的前端面试题 API JAMstack refs https://www.infoq.cn/article/0NUjpx ...

  9. Generator function vs Async/Await

    Generator function vs Async/Await generator async /await refs xgqfrms 2012-2020 www.cnblogs.com 发布文章 ...

  10. ES6 arrow function vs ES5 function

    ES6 arrow function vs ES5 function ES6 arrow function 与 ES5 function 区别 this refs xgqfrms 2012-2020 ...