(脚本)如何以交互方式启动gnu屏幕,然后在其中运行一些命令?

时间:2014-03-14 07:17:30

标签: bash exec gnu-screen

我想要实现的目标如下:

  1. 从某个终端的bash开始
  2. 运行gnu屏幕:exec screen
  3. 在后台启动我的桌面会话:startx &
  4. 所以现在我最终得到一个屏幕正在运行的终端和在背景中运行的X(在某些vt中),可以使用并从其他地方通过屏幕连接。
  5. 但我想在脚本中自动执行上述过程(事实上将它放在我的〜/ .bashrc中)。什么是简单而优雅的方式呢?

    我得到的最接近的镜头是这样的:

    exec screen bash -c "startx; bash"
    

    但这样startx无法进入后台。也就是说,

    exec screen bash -c "startx &; bash"
    

    无效。

    此外,我在谷歌搜索时遇到this thread。但是

    exec screen bash -i << EOF
    startx &
    exec < /dev/tty
    EOF
    

    也不起作用。我也试过

    exec screen bash -i --rcfile /tmp/somefile
    
    在/ tmp / somefile中使用startx &

    。再次无法工作。

    有什么想法吗?

1 个答案:

答案 0 :(得分:1)

&;都是命令终止符;你只能使用其中一种。

exec screen bash -c "startx & bash"