.exe
文件一样使bash脚本可执行文件?我尝试创建启动器并为其分配脚本,但是有两个结果:终端闪烁,消失,什么也没做。
您必须指定运行在终端中才能正常工作。我需要使脚本像Windows一样双击运行,因为大多数使用该脚本的人都不熟悉Ubuntu。
忘记上面的解释。我想制作一个无需双击即可运行的脚本,而无需使用终端。有人知道吗?
#1 楼
我对此进行了测试,效果很好。确保您的脚本以正确的shebang开头,例如#!/usr/bin/env bash
。然后执行以下步骤:
按Alt + F2运行命令。
键入
dconf-editor
并按Enter。在dconfg-editor中,转到:org ➤ gnome ➤ nautilus ➤ preferences
单击
executable-text-activation
,然后从下拉菜单中选择:启动:以程序形式启动脚本。
ORask:通过对话框询问该怎么做。
关闭dconf-editor。就是这样!
另一种方法,使用终端:运行:
gsettings set org.gnome.nautilus.preferences executable-text-activation 'launch'
注意:该文件应该是可执行的。您可能还需要更改文件的权限。右键单击并设置“允许将文件作为程序执行”
源。
评论
这很棒。请注意,通过单击可执行文本激活右侧列出的值可以访问“下拉菜单”(显示默认值)。
–ryanjdillon
13年8月14日在10:50
对于无法调用该应用程序的用户,您需要先使用sudo apt-get install dconf-editor安装它
–whale_steward
15年3月14日在6:35
除台式机外,此功能均可在任何地方使用。如何使它也可以在桌面上运行?我正在使用Xubuntu 14.10。
– shrx
15年3月28日在17:17
在LXDE中(Lubuntu)有没有办法做到这一点?
–childofsoong
15年5月2日在20:05
在slax unix上,这非常有用-请参阅slax.org,以了解可以从拇指驱动器启动的真正出色的Unix系统。
– raddevus
2015年12月5日在22:42
#2 楼
在Nautilus上(AKA文件)转到文件(在Unity上编辑(17.04或更低版本))>首选项>行为选项卡
更改可执行文本文件的设置。
评论
现在是“文件->首选项”。 (17.04)
–niry
17-09-27在20:23
甜!去恕我直言的路。
– codepleb
17-10-12在6:11
怎么看输出?
– Amr Lotfy
18年8月29日在1:00
#3 楼
我认为在这里缺少创建* .desktop文件:$ cat shortcut-for-my-script.desktop
[Desktop Entry]
Type=Application
Terminal=true
Name=Click-Script
Icon=utilities-terminal
Exec=gnome-terminal -e "bash -c './script.sh;$SHELL'"
Categories=Application;
如果为一个脚本创建多个* .desktop文件,则可以通过以下方式创建多个配置传递不同的参数,这是一种非常舒适且用户友好的方式。
评论
这是Ubuntu的最佳答案。请注意,除非您实际上是为要在终端窗口中查看其输出的脚本创建快捷方式,否则可能不需要(或可能不需要?)需要指定Terminal = True和Exec = gnome-terminal。请注意,您可以将Icon指向您可能想要的任何自定义png ...
– BuvinJ
19 Mar 20 '19在12:52
将此作为不信任的人
– Mr-程序
19年12月8日在21:07
#4 楼
在Ubuntu和所有基于Unix的操作系统afaik中,默认情况下未将任何文件设置为可执行文件。有两种方法。右键单击要执行的脚本或文件。转到“属性”,然后转到“权限”选项卡。单击“执行”复选框。
在找到文件的目录中打开一个终端
cd
。键入chmod ugo+x filename
。这样会将文件设置为执行。现在您的用户可以双击他们喜欢的内容。
评论
它仍然会问您如何在终端中运行或显示或运行...所以这不是我所需要的
–user61928
2012年5月19日下午6:34
只有此答案在Gnome Ubuntu 17.04上有效,以使桌面文件可执行
– Kunok
17年4月14日在21:06
这是为了在终端上执行文件,而不是双击文件。
– DimiDak
19 Mar 26 '19在14:37
此方法不允许您通过双击启动。
– Muyustan
20 Mar 10 '20 at 15:53
#5 楼
如果您使用的是XFce,则可以通过执行以下命令在Thunar中执行脚本:xfconf-query --channel thunar --property /misc-exec-shell-scripts-by-default \
--create --type bool --set true
或使用gui
xfce4-settings-editor
并创建相同的属性。运行
xfce4-settings-editor
,然后输入:/misc-exec-shell-scripts-by-default
TRUE
评论
关于如何在Thunar中使用自定义操作(不重新启用“风险”功能)来达到目的。
–cipricus
19-09-2在12:38
另外,这里还介绍了如何使用Zenity并出现“编辑或运行?”问题。
–cipricus
19年9月2日在13:14
#6 楼
您必须检查3点:Nautilus / Nemo配置:https://askubuntu.com/a/286651/301025
脚本文件必须为可执行文件:https://askubuntu.com/a/275714/301025
文件系统必须允许执行:
在文件系统中键入
mount
控制台检查文件系统中是否带有
noexec
标志通过编辑
noexec
删除/etc/fstab
标志并重新安装修改后的系统(例如,重新启动系统)#7 楼
当您在桌面中为SHEL脚本或其他命令创建启动时,不要忘记在后台发信号通知该脚本,以在后台执行。 。评论
我这样做了,但是终端的机率只是闪烁而没有任何反应
–user61928
2012年5月19日下午6:36
#8 楼
基于默认值umask
,默认情况下您没有执行文件的权限,必须更改mod以获得执行权限,如下所示:chmod u+x filename
评论
阿里汤确保我确实做到了
–user61928
2012年5月19日下午6:35
#9 楼
作为有关Thunar的答案的补充:该答案将重新启用Thunar的先前功能,以便在双击时执行脚本。但这功能被认为具有安全风险。为避免这种情况,也许最优雅的解决方案是弹出一个带有诸如“您要对该文件执行以下操作:编辑?” (类似于PCManFM和Nemo等其他文件管理器中的文件),单击该文件时-使用Zenity:此处。
替代方法是自定义操作,也许是Thunar的最佳功能。
我用于运行可执行文本文件的命令是
sh -c %f
,自定义操作称为“运行/执行脚本”。外观条件只是“文本”:
< br类似的命令可用于在终端中运行这样的脚本(“在终端中运行”),同时保持Xfce4终端处于打开状态:
xfce4-terminal -H -x %f
(可选地,最好是为了隐藏除可执行文件之外的所有文本文件的此类选项),一种方法是将外观限制为
.sh
文件(如果情况如此,则限制为.py
文件) “外观条件”:-相应地重命名可执行文件。
#10 楼
对于Ubuntu 20.04:打开文件(Nautilus现在被称为“文件”),单击汉堡包菜单并选择“首选项”。 “行为”选项卡,然后从“可执行文本文件”部分中选择合适的内容
#11 楼
专门用于Android Studio您可以在此处遵循我的原始答案:要创建桌面启动器:
从“工具”菜单中单击
Create Desktop Entry..
。将提示您输入密码,输入您当前登录的密码。 br />
您可以在Applications =>编程=> Android Studio中看到,并且在重新启动系统后也可以在桌面上看到。 。 :)
#12 楼
操作系统:Linux Mint(我使用的是18.3)我为此苦苦挣扎了多年,试图找出如何单击(或双击)可执行项并使之运行,而无需进一步的问题。我查看了Nemo Edit-> Preferences下的所有内容。答案实际上非常简单,可以为您设置...我不知道这是否仅适用于Mint。
在桌面上,右键单击并选择“ +创建新的启动器”这里”。接下来是最简单的可想象的对话框之一,您必须在其中选择可执行文件,以及是否还想在“开始”菜单中创建新项目,即仅使用键盘运行。
这是什么?实际上创建的是一个简单的可执行文本文件,例如
[Desktop Entry]
Comment=
Terminal=true
Name=MyScript
Exec=/media/mike/D_drive/My Documents/sysadmin/MyScript.sh
Type=Application
该文件的名称中不需要带有“ .desktop”。
此文件可以在桌面以外的其他地方使用:将其移动/复制到另一个目录,并且也可以在Nemo中双击运行(如果配置了Nemo,也可以单击运行)。
评论
我认为您可能只是在编写桌面文件时表现不佳。您可以张贴(普通)您编写的.desktop启动器吗?另外,你看到了吗? askubuntu.com/q/34597/24694
它只是一个启动器,您可以在其中分配名称和命令来完成它,没什么大想法
先生向我提示此事,为我工作:askubuntu.com/questions/286621/…
仅供参考,以供将来的访问者使用:Ubuntu的默认文件管理器Nautilus显然将由于漏洞而在2019年取消在较新版本中运行可执行文件的功能。有关主题和代码的文章在GitLab上进行了讨论