![两个用户共享同一台计算机](https://linux22.com/image/828792/%E4%B8%A4%E4%B8%AA%E7%94%A8%E6%88%B7%E5%85%B1%E4%BA%AB%E5%90%8C%E4%B8%80%E5%8F%B0%E8%AE%A1%E7%AE%97%E6%9C%BA.png)
我需要与住在印度的朋友共享我的电脑。
他的电脑是 p4,需要一点马力进行计算。
因为我有一台 i5,所以我想让他通过 vnc 使用它,但这不允许我同时使用电脑。
有没有办法让不同的用户同时使用计算机?
我读到 Xorg 能够做到这一点,但我不确定这是否是最好的解决方案,我也无法实现它。
我们在 i5 端有 Ubuntu 12.04 64 位,在 p4 端有 Ubuntu 12.04 32 位。
感谢您的热心帮助。
答案1
您可以在 i5 端安装 xrdp ( sudo apt-get install xrdp
),在 P4 端安装 Remmina(可从软件中心获取)。这将使他能够访问您的机器桌面。
我建议您为他设置一个新用户,这样您就不会遇到“Firefox 已在此机器上运行...”之类的问题,并且您的文件将受到保护并与他的文件分开。
要建立连接,您需要打开与 Reminna 中选择的连接类型相对应的端口。我建议您使用带有 SSH 隧道的 RDP(您可以配置 Reminna 单独执行此操作)并在您的机器上打开 SSH 端口(22)。打开此端口的安全问题是需要考虑的,您应该安装一些东西来阻止暴力攻击(例如fail2ban
- 在软件中心也是如此)并且只允许使用 ssh 密钥的 ssh 连接,无需密码,也无需 root 登录 - 可在 中配置/etc/sshd_config
)。但如果您不熟悉它,请参阅Ubuntu SSH 文档
答案2
使用现有的内置方法可能是最简单的方法。如果你们都运行了 X,请在 i5 端配置 SSH。确保已使用以下方法配置了 SSH
X11Forward yes
您可能需要在提供 i5 端网络的路由器上打开端口 22,以便 p4 端可以连接。当 SSH 服务器在互联网上可访问时,很快就会遭到试图暴力破解机器的人的攻击;因此,请务必安装和配置一种方法来防止暴力破解攻击,例如 DenyHosts 或 fail2ban。
您可能希望查看路由器,看看它可以使用哪种动态 DNS,然后设置动态 DNS,以便 p4 端可以通过名称通过 SSH 连接到您。(也有软件可以做到这一点,我们也可以在下面设计一些 hackish 方法。)否则,当然,p4 端需要知道您当前的 IP 地址。
对于 p4 端通过 SSH 使用 X 和压缩进行连接:
ssh -X -C username@hostname-or-ip-address
要让p4端使用i5端的X应用程序,只需输入命令即可。
xman
然后西门子将在i5端运行,但在p4端显示。
当然,对于 i5 端的一个显而易见的要求是,i5 端需要为 p4 用户创建一个用户帐户(adduser
)。
另外,还有更像你提到的 VNC 的东西,NX。有一个适用于 Linux 的免费商业版本,来自无机器并且有一个开源版本,自由. 使用 NX,用户可以通过 SSH 连接,最终用户可以看到整个桌面,就像 VNC 或 RDP 一样。
就我个人而言,我使用 NoMachine 的 NX。我的 ISP 每周更改一次我的 IP 地址。我不想为动态 DNS 付费,也不想为自己设置动态 DNS。因此,我设计了一种每天向自己发送一次外部 IP 地址的方法(通过从 cron 运行的脚本)。首先,我设置系统使用以下方式发送邮件邮件传输协议,专门用于发送邮件的软件。然后我每天通过 cron() 运行一次脚本/etc/cron.daily/ip.sh
:
#!/usr/bin/env bash
IP_FILE=/tmp/external-ip-address
CURRENT_IP=$(lynx --dump http://checkip.dyndns.org/)
[email protected]
if [ -f $IP_FILE ]; then
KNOWN_IP=$(cat $IP_FILE)
else
KNOWN_IP=
fi
if [ "$CURRENT_IP" != "$KNOWN_IP" ]; then
echo $CURRENT_IP > $IP_FILE
mailx -s "External IP Address" $EMAIL_ADDR < $IP_FILE
fi
该脚本需要lynx
、bash
和mailx
( heirloom-mailx
)。虽然与处理数字无关,但远程用户也可以使用它sshfs
在 i5 端挂载主目录。这是使用 X 管理远程文件的一种非常方便的方法。