摘要:如何将Run in Terminal
Nautilus 的双击操作设置为默认?
我希望通过双击来运行交互式脚本。要与它交互,我必须看到它运行。
如果我gsettings
设置org.gnome.nautilus.preferences executable-text-activation
为ask
,那么它会给我一个选择;Run in Terminal
做我想做的事;Run
不做,因为当脚本需要问我一些事情时,它就会挂起。但是,我不想Run in Terminal
每次都点击 。我希望它默认这样做。我以前不知怎么就这么做了。
我尝试将其gsettings
设置org.gnome.nautilus.preferences executable-text-activation
为launch
;但是,这只是Run
默认设置;我看不出有办法将其设置Run in Terminal
为默认设置。
我也尝试插入gnome-terminal
命令。这会成功弹出一个终端窗口(即使只是Run
);但是,我随后需要以某种方式发送全部命令至该终端窗口。
或者,我知道如何将脚本的交互部分(仅)发送到该终端,这对我来说是可行的;但是,在这种情况下,我需要脚本暂停,直到其交互部分完成,然后恢复执行。通常,这可以使用命令来实现wait
;事实上,gnome-terminal
命令似乎可以gnome-terminal&
正常工作,因为它在启动后立即将控制权交给 bash 脚本。
我已经读完了差不多 10 篇重复的帖子如何在 Nautilus 中运行可执行脚本?(包括其他网站),但仍然找不到我的答案。如果有任何其他解决方法,我将不胜感激。
答案1
虽然这并不是你真正要求的,但我相信这仍然是一个很好的选择:
添加右键单击选项以在终端中运行选定的脚本
创建一个小脚本:
#!/bin/bash gnome-terminal -e $1
将其另存为
run_interminal.sh
。~/.local/share/nautilus/scripts
如果目录不存在,则创建该目录。- 使脚本可执行。
- 注销并重新登录。
就这样。选择一个脚本并选择Scripts--> runinterminal.sh:
或者;在终端中拖放运行
将(可执行)脚本拖到启动器上以在终端中运行它:
将以下代码复制到一个空文件中,并将其保存在桌面上
run_script.desktop
[Desktop Entry] Name=Run Script Type=Application Exec=gnome-terminal -e %u Terminal=true
使其可执行
就是这样。现在,当将可执行脚本拖到图标上时,它将在 (gnome-) 终端中运行。
重要的提示
如上所述,脚本run_interminal.sh
需要可执行才能出现在菜单中。
事实上,要运行的脚本也需要可执行。run_interminal.sh
可以轻松设置为自动使目标脚本可执行或调用解释器。如果需要,请提及。
答案2
此解决方案应适用于所有:
支持“可配置个人操作”的文件管理器。
配置为双击打开文件的文件管理器。
x 终端仿真器具有执行选项:“-e”或“--execute”。
具有可执行权限的脚本。
编辑
使用 thunar 文件管理器进行测试,然后我安装了 nautilus,现在双击两者的执行脚本。
1- 右键单击你的脚本
2-选择“打开方式”
3-单击“使用其他应用程序打开”
4-单击“使用命令打开”
5-选中“对此类文件使用此操作”
6-在文本区域中输入以下命令:
x-terminal-emulator -e "/bin/bash %f"
7-单击打开,您的脚本将在终端窗口中执行。
8- 重启文件管理器
现在,每次双击脚本时,它都会被执行。
答案3
找到了问题的简短解决方案。添加--disable-factory
到 gnome-terminal 选项使其等待终端完成,然后再继续执行脚本的其余部分。