双击时如何在终端中运行脚本

Ale*_*lex 5 command-line nautilus scripts gnome-terminal

总结:如何设置Run in Terminal为默认的 Nautilus 双击动作?

我希望通过双击来运行交互式脚本。要与它交互,我必须看到它运行。

如果我gsettings设置org.gnome.nautilus.preferences executable-text-activationask,那么它给了我一个选择;Run in Terminal做我想做的事;Run不会,因为当脚本需要问我一些事情时,它就会挂起。但是,我不想Run in Terminal每次都点击。我希望它默认这样做。我以前以某种方式做过。

我试图gsettings设置org.gnome.nautilus.preferences executable-text-activationlaunch; 但是,这只是Run默认设置;我没有看到Run in Terminal默认情况下的方法。

我也试过插入gnome-terminal命令。这成功地弹出了一个终端窗口(即使是简单的Run);但是,然后我需要以某种方式将所有命令发送到该终端窗口。

或者,我知道如何将脚本的交互部分(仅)发送到该终端,这对我有用;但是,在这种情况下,我需要脚本停止,直到它的交互部分完成,然后恢复执行。通常,这可以使用wait命令来完成;照原样,该gnome-terminal命令似乎可以正常工作gnome-terminal&,因为它在启动后立即将控制权交给 bash 脚本。

我已经阅读了几乎 10 个重复的线程如何在 Nautilus 中运行可执行脚本?(包括其他网站),仍然找不到我的答案。任何其他解决方法将不胜感激。

Jac*_*ijm 4

不完全是你所要求的,我相信仍然是一个优雅的选择:

添加右键单击选项以在终端中运行选定的脚本

  1. 创建一个小脚本:

    #!/bin/bash
    gnome-terminal -e $1 
    
    Run Code Online (Sandbox Code Playgroud)
  2. 将其保存run_interminal.sh~/.local/share/nautilus/scripts. 如果该目录不存在,则创建该目录。

  3. 使脚本可执行。
  4. 注销并重新登录。

就是这样。选择一个脚本并选择Scripts--> runinterminal.sh

在此输入图像描述

或者; 拖/放-在终端中运行

将(可执行)脚本拖到启动器上以使其在终端中运行:

  1. 将下面的代码复制到一个空文件中并将其保存在桌面上run_script.desktop

    [Desktop Entry]
    Name=Run Script
    Type=Application
    Exec=gnome-terminal -e %u
    Terminal=true
    
    Run Code Online (Sandbox Code Playgroud)
  2. 使其可执行

就是这样。现在,当将可执行脚本拖到图标上时,它将在(gnome-)终端中运行。

重要的提示

如前所述,脚本run_interminal.sh需要可执行才能出现在菜单中。
事实上,要运行的脚本也需要可执行。run_interminal.sh可以轻松设置为自动使目标脚本可执行或调用解释器。如果需要的话,请提及。