问题描述
我的工作计算机上安装了Ubuntu。我想知道我是否可以从装有Windows的另一台计算机上访问它。如果是这样,请你一步一步地指导一下吗?谢谢!
最佳解决方案
是的,您可以从Windows远程访问Ubuntu。
采取从这个article。
Follow these steps :
Step 1 – Install xRDP
Open Terminal (Crtl+Alt+T) and execute the following commands:
sudo apt-get update sudo apt-get install xrdp
Step 2 – Install XFCE4 ( Unity doesn’t seem to support xRDP in Ubuntu 14.04; although, in Ubuntu 12.04 it was supported ). That’s why we install Xfce4.
sudo apt-get install xfce4
Step 3 – Configure xRDP
In this step, we modify two files to make sure xRDP uses Xfce4. First we need to create, or edit, our
.xsession
file in our home directory. We can either use nano or simply redirect an echo statement (easier):echo xfce4-session >~/.xsession
The second file we need to edit is the startup file for xRDP, so it will start Xfce4.
sudo nano /etc/xrdp/startwm.sh
The content should look like this (pay attention to the last line and ignore
. /etc/X11/Xsession
):#!/bin/sh if [ -r /etc/default/locale ]; then . /etc/default/locale export LANG LANGUAGE fi startxfce4
Step 4 – Restart xRDP
To make all these changes effective, restart xRDP as such:
sudo service xrdp restart
Testing your xRDP connection
On the computer that will remotely control your Ubuntu machine, start you RDP client. Windows comes standard with a Remote Desktop client (mstsc.exe – you can start it from a command prompt, or find the shortcut to Remote Desktop under Accessories). Or Search ‘remote’ in start (Windows 7) Or ‘remote’ in search box in Windows 8.
Whichever client you use, most will work with either the computer network name or IP address of your Ubuntu machine.
To find the IP address on your Ubuntu box, type:
hostname -I
(note: this is a capital “i”)
Enter IP address of your Ubuntu machine. For example:
Depending on your RDP client capabilities and settings (for example: Microsoft RDP Client allows automatic login), you might or might not see the login screen. Here we enter our Ubuntu username and password and click “OK”
You are done,enjoy
PS:评论中提到了一些好点,所以我想总结一下。
-
如果你想从外部网络访问Ubuntu,你需要你的Ubuntu工作时拥有自己的,适当的互联网IP地址 – 这是一个相当不可能的场景。否则,您需要外部可见的工作地址,并设置端口转发设置,以将传入的RDP请求引导至路由器上的工作计算机。 (Mark Williams)
-
要使用Ubuntu MATE桌面
meta-session
,请将startwm.sh
中的最后一行startxfce4
替换为mate-session
。 (Frank N) -
您可以使用您的实际机器名称(通过输入
hostname
)而不是您的IP,因为它在未来的会话中可能对动态IP更加稳定。 (Frank N)
次佳解决方案
MobaXterm
免费软件在Windows上实现X服务器。
无需在Ubuntu上安装任何东西。
连接之后,您将从 shell 开始。
然后,如果你从shell启动一个程序,例如:
xeyes
xeyes
将作为单独的本机Windows窗口打开。
它只是通过VPN在Windows 10和Ubuntu 16.04之间开箱即用。
即使对于像firefox
和eclipse
这样的复杂应用程序,它也会带来可接受的滞后和分辨率损失,但它显然不仅仅是将您的桌面视为视频,而且实际上还会实现X小部件。
一个烦恼是,如果你在工作中打开窗口,然后回家,你必须启动一个新的应用程序实例,并且看不到已经打开的窗口。这是由在单窗口模式下工作的应用程序进一步讨厌的,例如,浏览器:你将不得不搜索如何强制一个新的实例,然后你将有两个实例在运行。
Cygwin的/X
GPL替代MobaXterm。还没有尝试过,但理论上的行为应该是一样的:https://youtu.be/ENkOEknSLv4?t=105
VNC
我已经尝试了以下程序,但他们将桌面作为视频发送,这导致了不可接受的屏幕分辨率丢失/鼠标不准确/网络带宽。
服务器(在Ubuntu上运行):
-
维诺。发货pre-installed,但与某些可用的Windows客户端存在兼容性问题:Gnome 3.10 sharing desktop — how to configure the security type for VNC?
客户端(在Windows上运行):
-
TigerVNC
油灰
go-to解决方案如果你想要的只是通过SSH的文本终端。
它非常方便,因为它将xterm模拟器和SSH /telnet以及其他协议集成在一个包中。
然后将tmux attach
添加到混音中,您可以在工作和家中使用完全相同的终端,这非常棒。然而,有一些恼人的环境变量故障,特别是DISPLAY
:https://unix.stackexchange.com/questions/75681/why-do-i-have-to-re-set-env-vars-in-tmux-when-i-re-attach