问题描述
如何通过双击就可以创建一个bash脚本,就像Windows中的.exe
文件一样?我尝试过creating a launcher and assigning the script to it,但有两个后果:
-
终端闪烁,消失,没有任何事情完成。
-
您必须指定在终端中运行才能工作。
我有一个在脱机PC上安装tomcat的脚本,包括脚本中的所有tomcat依赖项。我需要使脚本像双窗一样工作,因为大多数使用该脚本的人都不熟悉Ubuntu。
忘记上面的解释。我想制作一个可由double-clicking运行的脚本,而不使用终端。任何人都知道如何?
最佳解决方案
我测试了这个,它工作得很好。确保您的脚本以正确的hash-bang开头,例如#!/bin/bash
然后按照下面的步骤
击中Alt
+ F2
,输入dconf-editor
并点击Enter
。
在dconfg-editor转到:org ➤ gnome ➤ nautilus ➤ preferences
点击executable-text-activation
,然后从下拉菜单中选择:
启动:以程序的形式启动脚本。
要么
问:通过对话询问该怎么做。
关闭dconf-editor。而已!
来源:How do I run executable scripts in Nautilus?答案由Basharat Sial提供。
次佳解决方案
在较新的版本上,在nautilus(文件)上,转到编辑>偏好>行为标签>并更改可执行文本文件的设置。
第三种解决方案
在Ubuntu和所有基于Unix的操作系统中,默认情况下,没有任何设置可执行。有两种方法可以做到这一点。
-
右键单击要执行的脚本或文件。转到属性,然后转到权限选项卡。点击执行的复选框。
-
打开终端
cd
到找到文件的目录。键入chmod ugo+x filename
。这将设置文件执行。
现在你的用户可以双击他们的心中的内容。
第四种方案
我认为创建一个* .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文件,则可以通过传递不同的参数来创建多个配置,这是一种非常舒适的user-friendly方式。
第五种方案
如果您使用的是XFce,那么您可以通过执行以下命令在Thunar中执行脚本:
xfconf-query --channel thunar --property /misc-exec-shell-scripts-by-default \
--create --type bool --set true
或者通过使用gui xfce4-settings-editor
并创建相同的属性