Linux的远程桌面折腾指南
因为实验服务器需要远程提供给研一童鞋使用,这两天折腾了一下Linux的远程桌面,在此记录总结一下。服务器系统为Lubuntu 16.04
远程登录到Linux
方案一:简单使用——x11vnc
单用户的情况下,使用x11vnc是最简单的方法,详细设置过程可以参看这篇文章,该文提供了自动配置脚本。这里不再赘述。
注意事项:
- 脚本最后有一段关机命令,注意根据需求修改或者注释掉
- x11vnc和Lubuntu的light-locker锁屏程序用冲突,详见bug,自动锁屏后,VNC会黑屏,无法进入桌面。
我的解决方案是sudo apt autoremove light-locker,不用锁屏程序了,或者换成其他自己喜欢的
方案二:多用户登录——xrdp
对于多用户登录使用的情况,推荐使用xrdp。使用VNC也可以实现多用户登录方案,可参考教程。相比xrdp,VNC方案在安全性方面稍差,配置也更麻烦,我按照教程没有成功配置,感兴趣的童鞋可以折腾一下。
具体配置工作如下:
sudo apt install xrdp安装xrdp- 在需要远程登录的用户的home目录下,修改
~/.xsession文件,添加桌面session启动命令。
如Xfce桌面添加:xfce4-session,(**注意:Xfce在vnc下有bug,tab补全功能无法使用,解决方法参见链接),如Lubuntu添加:lxsession -e LXDE -s Lubuntu - 注意检查
/etc/xrdp/startwm.sh最后一行为. /etc/X11/Xsession - 启动xrdp服务,
sudo sysemctl start xrdp - 设置xrdp服务开机自启,
sudo systemctl enable xrdp
xrdp连接效果展示:
可直接使用Windows远程连接,此处可在连接设置中调整远程屏幕分辨率。

连接后登录界面

成功连接后界面

xrdp后续配置
20180419更新
默认配置的xrdp,每次远程连接会创建新的会话,这样就不能继续上一次会话了。可以通过修改配置文件,添加Reconnect选项来解决(附:参考资料1,参考资料2)。
在/etc/xrdp/xrdp.ini文件末尾添加如下内容:
[xrdp8]
name=Reconnect
lib=libvnc.so
username=ask
password=ask
ip=127.0.0.1
port=ask5910
这样在下次登录的时候,可以选择Reconnect选项,配置中设置了默认的端口号5910,使用netstat -tunlp命令可以看到已有xrdp进程使用的端口,在重连时根据实际情况修改。

/etc/profile中设置不生效
实际使用中发现,/etc/profile在本地生效,远程就不生效。解决方法如下:
- vnc服务器启动时读取
~/.vnc/xstartup,可以在该文件中添加相关配置 - 在.bashrc中添加source /etc/profile可解决,但是会造成本地的设置重复的问题
Linux远程登录到Windows
方案一:rdesktop
该方案只需要在Windows上设置允许远程桌面连接即可,注意取消勾选网络级别身份验证。

Linux下命令示例:rdesktop [ip] -f -u [user name] -p [passwd] -r sound:local
rdesktop也可以远程连接开启xrdp服务的Linux机器。连接Windows10需要1.8.3版本的rdesktop。
文件共享与其他优化
具体可参考使用rdesktop来在Windows和Linux之间共享数据
rdesktop -u username a.b.c.d -p my-password -g 1200x900 -x 0x80 -r sound:local -r disk:LinuxPictures=/home/username/Pictures
其中-x优化字体平滑,-r sound和-r disk需要同时设置才能适合共享文件路径生效。
优点:
- 传输效率高,可传输声音
- 隐私性好,远程机器的显示器不会显示正在操作的内容。
缺点:
- 只支持OpenGL 1.1版本,无法运行很多OpenGL图形相关程序,如部分游戏。
方案二:vnc-viewer
该方案在Windows上安装realvnc connect并登录账号即可,免费版realvnc connect无法通过ip直连,vnc-viewer只可以登录账号才能发现主机。
优点:
- 就是远程操作桌面,除了延迟,和本机没有区别
- 相比rdesktop方案,对图形相关的程序支持更好,所以可以远程玩游戏了
缺点:
- 无法传输声音,VNC协议不支持该功能
- 远程机器的屏幕会显示正在进行的操作,VNC直接传输的屏幕画面,所以隐私性,安全性差点
Linux的远程桌面折腾指南的更多相关文章
- windows server 2012 r2 远程桌面连接指南
具体详情请阅览文档 http://pan.baidu.com/s/1jHTCpW6 windows server 2012 r2 远程桌面连接指南 - 作者 rick·bao - 日期 2016-0 ...
- Linux/Windows远程桌面
WINDOWS远程连接LINUX配置(LINUX VNC Server配置): 1.查看本机是否有安装vnc(centOS5默认有安装vnc) rpm -q vnc vnc-server 如果显示 ...
- 开启Linux VNC远程桌面
Xwindows:gnome (红帽默认安装的图形界面) 一, 确认及安装VNCSERVER. 1,首先确认你服务器是否配置了VNCSERVER,可以在命令行下敲入以下命令查看: [root@lo ...
- 适用于kali linux的远程桌面开启方法(从windows xp 远程登录到kali linux )
为了解决Windows远程桌面访问Ubuntu 12.04 之一 中提到的VNC远程桌面的缺点(见http://www.linuxidc.com/Linux/2012-07/64801.htm),我们 ...
- Windows与Linux相互远程桌面连接
对于远程桌面连接Linux,大家可能会第一时间想到使用VNC,,远程桌面Windows,大家第一时间会想到使用Windows自带的远程桌面.那么有没有办法,使得在Linux中可以远程Windo ...
- Linux的远程桌面配置
一.Ubuntu的远程桌面 Ubuntu默认已安装好VNC服务端组件vino-server,只需要在“系统设置->首选项->桌面共享”中设置即可. 1.设置桌面共享首选项 2.设置好之后, ...
- [运维工具]linux下远程桌面rdesktop安装和使用
依然是解压 configure make make install 这些步骤 rdesktop -f 16 192.168.16.90 -f是全屏,退出全屏是CRTL+ALT+ENTER 记录一个li ...
- linux连接远程桌面
#!/usr/bin/env python3 #-*-encoding:utf-8-*- import re import os import urllib.request, urllib.parse ...
- Linux下远程桌面Windows
rdesktop-1.7.0.tar.gz [root@localhost fcitx]# tar rdesktop-1.7.0.tar.gz [root@localhost fcitx]#cd rd ...
随机推荐
- django笔记二之数据库
django笔记二之数据库 [同步数据库之前的操作] yum install MySQL-python.x86_64 -y 2)开启数据库服务并创建表 创建数据库设置 为utf8: create da ...
- zencart后台订单详细页显示产品图片和链接
方法一: 找到admin/order.php 大约491行 for ($i=0, $n=sizeof($order->products); $i<$n; $i++) { 与 if (iss ...
- web框架-(七)Django补充---models进阶操作及modelform操作
通过之前的课程我们可以对于Django的models进行简单的操作,今天了解下进阶操作和modelform: 1. Models进阶操作 1.1 字段操作 AutoField(Field) - int ...
- Web Api 接口返回值不困惑:返回值类型详解
前言:已经有一个月没写点什么了,感觉心里空落落的.今天再来篇干货,想要学习Webapi的园友们速速动起来,跟着博主一起来学习吧.之前分享过一篇 WebApi 接口参数:传参详解,这篇博文内容本身很基础 ...
- 利用transform skewX制作平行四边形导航菜单
平行四边形其实是矩形的超集:它的各条边是两两平行的,但各个角则不一定都是直角.在视觉设计中,平行四边形往往可以传达出一种动感.让我们试着用 CSS 创建一个按钮状的平行四边形链接.我们的起点就是一个普 ...
- python实例31[生成随即的密码]
代码: import random import string import time # strong.high = 3 #random for the whole passwd #storng. ...
- 【UOJ#450】[集训队作业2018] 复读机
题目链接 题目描述 群里有\(k\)个不同的复读机.为了庆祝平安夜的到来,在接下来的\(n\)秒内,它们每秒钟都会选出一位优秀的复读机进行复读.非常滑稽的是,一个复读机只有总共复读了\(d\)的倍数次 ...
- iOS 自定义NavigationBar右侧按钮rightBarButtonItem
自定义右侧的一个按钮 UIBarButtonItem *myButton = [[UIBarButtonItem alloc] initWithTitle:@"主页" style: ...
- 百度地图api的简单应用(二):轻量级路径规划
同上篇的原理,我们还是输入url,返回json文件. 而由图可见,路径规划返回的json文件内容可能会很多.杂: 因此后续的处理与上篇略有不同. import json import requests ...
- 容器"共享"宿主机的hosts文件(终极方案)
0.背景 有时候制作docker镜像生成容器时需要宿主机的hosts文件共享到容器中.首先想的是通过挂载的方式共享hosts文件,但是实践时发现根本行不通,hosts文件在/etc/目录下,如进行挂载 ...