V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
4ever911
V2EX  ›  Linux

怎么把 SSH 程序启动到某个桌面

  •  
  •   4ever911 · 2017-02-03 14:54:29 +08:00 · 3056 次点击
    这是一个创建于 2638 天前的主题,其中的信息可能已经有所发展或是发生改变。
    情况是这样的, 我在 macOS 上装了一个 Arch 虚拟机,跑着一个 Gnome 桌面,因为虚拟机里面多少有点卡,没有 mac 下写起来方便, 所以我用 ssh + vim 登陆上去写代码, 写好后希望能直接一个命令行执行我刚才的程序(有 GUI , Python + QT ),让这个程序直接启动到我的 Gnome 桌面去,可以实现吗? 好像可以用 XServer ? 具体怎么弄?有比较简单的做法吗?

    感觉操作起来有点类似远程调试了。。 faint 。。。
    15 条回复    2017-02-08 23:15:55 +08:00
    likuku
        1
    likuku  
       2017-02-03 15:02:18 +08:00   ❤️ 1
    machos 本地起 x11 , arch 的 sshd_config 里开启 x-forward , ssh 时,启用 x-forward 到本地 OS X 的 x11-server

    差不多 2009 年时,我这么玩过... 因为有软件是 GUI ,但远端机器不想开 X Desktop

    说实话,体验不好。
    likuku
        2
    likuku  
       2017-02-03 15:03:54 +08:00   ❤️ 1
    macosx 的 Finder -> 前往 -> 实用工具 -> X11 就它了
    4ever911
        3
    4ever911  
    OP
       2017-02-03 15:18:35 +08:00
    @likuku 实用工具里面没有 x11 呀
    4ever911
        4
    4ever911  
    OP
       2017-02-03 15:21:17 +08:00
    @likuku 找到一个替代的,我去看看。
    4ever911
        5
    4ever911  
    OP
       2017-02-03 15:35:30 +08:00
    算了,不折腾了。。。。
    likuku
        6
    likuku  
       2017-02-03 15:44:38 +08:00   ❤️ 1
    关于 Mac 版 X11 - Apple 支持 : https://support.apple.com/zh-cn/HT201341

    可能因为我 osx 是从很多年前旧版本一路升上来的,才带吧。

    在 linux 上装好 x11 desktop 环境,再装个 vnc server , OS X 通过 vnc 去访问也可以。

    VBox 是可以给虚拟机里装 tools 组件来更好支持图形化与宿主交互。
    zmj1316
        7
    zmj1316  
       2017-02-03 16:40:07 +08:00
    ssh + X11 forward 可以在 客户端这里显示图形
    4ever911
        8
    4ever911  
    OP
       2017-02-03 16:45:34 +08:00
    @likuku 感觉这样折腾一下,又有必要装 Dock 来做了。。。貌似 dock 性能更好。。。
    ArcherFeel
        9
    ArcherFeel  
       2017-02-03 17:55:59 +08:00
    vnc 也是可以的, arch 上装一个 vncserver 是 10 秒钟的事, mac 上用 vncviewer 登录即可.更方便的话可以在 arch 上搞一个持续集成或者简单点用脚本实现从宿主机到 arch 的一键编译 /拷贝, 然后 vncviewer 登录过去执行即可.
    adrianzhang
        10
    adrianzhang  
       2017-02-04 02:58:20 +08:00
    @likuku 提到的方式是可以的,具体是 MacOS 先安装 X11 。然后 ssh -X $Linux_IP $COMMAND ,比如要启动 Linux 里的 Firefox ,那么 ssh -X $Linux_IP firefox 就可以了。默认情况下, Linux 的 sshd_config 里是开启了 x-forward ,所以也不需要改。
    leaveboy
        11
    leaveboy  
       2017-02-04 17:06:35 +08:00
    awesome WM 可以轻松搞定,好像有 mac 版本
    leaveboy
        12
    leaveboy  
       2017-02-04 17:09:27 +08:00
    不能修改回复,就再写一条了(。)(。), awesome WM 可以轻松搞定,指定程序到某一个 tab 上。
    leaveboy
        13
    leaveboy  
       2017-02-04 17:09:49 +08:00
    不能修改回复,就再写一条了(。)(。), awesome WM 可以指定程序到某一个 tab 上。
    iamfredng
        14
    iamfredng  
       2017-02-08 23:13:21 +08:00
    我以前也有过你这样的需求,不过不是 Python 。原理我相信一样的。
    iamfredng
        15
    iamfredng  
       2017-02-08 23:15:55 +08:00
    你写一个独立的进程,接受 3 个管道 /sock 的输入, Start/Stop/Restart ,然后由这个进程去启动你的 python 程序,当你 ssh 过去的时候你可以通过 cat Start > xxxx.sock 去控制你的程序启动和关闭了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   4601 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 04:04 · PVG 12:04 · LAX 21:04 · JFK 00:04
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.