描述:
我正在使用 Lubuntu 13.10 X86-64 livecd 切换到另一个 Lubuntu 13.10 X86-64,它位于我的硬盘上名为 chroot 的文件夹中。我使用终端切换到 chroot 没有任何问题,在 livecd 上使用“xhost +”后,我可以从 chroot 启动我当前 xserver 上的 gui 应用程序,但我需要为 chroot 提供它自己的 X 输出。我在 Google 上搜索过,搜索过 askubuntu,并输入了所有可能的命令,但都无济于事。我希望能找到解决方案,但如果您有解决方案,我很乐意猜测一下。我已经备份了 chroot,以便在它出现问题时可以恢复。我也尝试过使用 Xnest,但它也不起作用。如果可能的话,我想在 chroot 中运行 lxde 桌面环境,以特定用户身份登录。
细节:
下面是我用来启动 chroot 的命令。
sudo mount --bind /dev /media/lubuntu/os/chroot/dev
sudo mount --bind /proc /media/lubuntu/os/chroot/proc
sudo mount --bind /sys /media/lubuntu/os/chroot/sys
sudo cp /etc/resolv.conf /media/lubuntu/os/chroot/etc/resolv.conf
xhost +
sudo chroot /media/lubuntu/os/chroot
我还想在 chroot 中输入“export DISPLAY=:0.0”,但没有它也可以工作。
检测结果:
测试 #1:
描述:
所有输出(control+alt+Fkeys)都出现黑屏,无法输入任何内容。我不得不手动关闭电脑。
细节:
在 chroot 终端类型中
export DISPLAY=localhost:1
在 chroot 终端类型中
startx -- :1
测试 #2:
描述:
我按下 F1 键时屏幕变黑,按下“control + alt + F7”键后屏幕返回正常桌面。黑屏时我无法输入任何内容。当我按下 F7 键在 chroot 终端中输入“gksu leafpad”时,出现错误“无法打开显示 localhost:1”。当我切换到 F1 键时,它现在显示 livecd 的终端提示,而不是 chroot。
细节:
在 chroot 终端类型中
export DISPLAY=localhost:1
在 livecd 终端中输入
sudo startx -- :1
测试 #3:[编辑于]
描述:
我得到了一个空白的黑色窗口,就像 Xnest 一样。当我尝试启动 xterm 时,我收到一条错误消息,指出“无法解析主机名 lubuntu:名称或服务未知”。我还尝试在 chroot 和 livecd 上安装“openssh-server”。当我仅在 livecd 上使用相同的命令并尝试从 livecd 启动 xterm 时,我没有收到相同的错误。相反,我得到了一个密码提示。livecd 用户“lubuntu”没有密码。如果我将密码留空,我会收到错误“权限被拒绝。如果我创建一个用户帐户并重试,我会在输入正确的用户密码时收到错误“权限被拒绝,请重试”。在 chroot 中使用 apt-get 时也会发生 chroot 遇到的“无法解析主机名 lubuntu”错误,尽管我可以并且已经从 apt 安装东西。
细节:
在 livecd 终端中输入
Xephyr -ac -screen 1024x768 -br -reset -terminate 2> /dev/null :1 &
在 chroot 终端类型中
DISPLAY=:1.0
我还在 livecd 终端中尝试了“DISPLAY=:1.0”。
在 chroot 终端类型中
ssh -XfC -c blowfish root@lubuntu xterm
我还在 chroot 终端中尝试了“user@server”和“root@localhost”。
附加信息
还有什么想知道的吗?我会尽量在这里添加。
答案1
使用 Xephyr
sudo apt-get install xserver-xephyr
启动 Xephyr
Xephyr -ac -screen 1280x1024 -br -reset -terminate 2> /dev/null :1 &
“:1” = 您的显示器(显示器从 0 开始编号)
-ac = 禁用访问控制限制=允许您转发 X
-screen 1280x1024 = 屏幕尺寸
-br = 黑色背景
-reset -terminate= 当最后一个 X 客户端被终止时,Xephyr 应该自动关闭,但并不总是有效。
2> /dev/null 重定向错误消息。
设置你的显示(适用于 X)
DISPLAY=:1.0
ssh 进入你的 chroot (你可能需要安装 ssh 服务器,你也可能希望查看 LXC )
ssh -XfC -c blowfish user@server xterm
或使用您希望的任何其他图形工具。
也可以看看
答案2
/tmp/.X11-unix
在 chroot 文件系统内挂载应该可以工作:
mkdir /media/lubuntu/os/chroot/.X11-unix
mount --rbind /tmp/.X11-unix /media/lubuntu/os/chroot/.X11-unix
chroot /media/lubuntu/os/chroot
xterm