我正在尝试双击来启动 bash。
我写了一个简单的脚本:
#!/usr/bin/env bash
echo Hello, who am I talking to?
read varname
echo "It's nice to meet you" $varname
我也尝试输入 #!/bin/bash 但没有改变
我做到了
sudo chmod +x script_name
dconf-editor
并在点击时设置启动文件dconf-editor
。
我也尝试向文件添加 .sh 扩展名,但没有成功。
尽管如此,当我双击文件时,它却没有运行。我使用的是 ubuntu 20.04,我没有找到任何关于这个问题的有用帖子。也许我搜索得不够好,所以请随时给我发信息
更多信息:
- 当我从终端启动该脚本时,它运行良好,
- 当我在 dconf-editor 中设置“询问”时,它会询问我如何打开它,但启动仍然不起作用。
- 使用“询问”选项,然后单击“在终端中运行”即可使其工作。但我希望它在没有询问窗口的情况下工作,以使其更加用户友好。
- 帖子使用“sudo”的 Bash 脚本从 CLI 正确运行,但单击运行则不行对我没有帮助,因为我的脚本中没有 sudo 命令。
预期行为:终端打开并显示“我在说谁?”
非常感谢。抱歉,我的英语水平不是母语。Bouq
答案1
有些人会说:“转移到另一个桌面环境”。
在 Ubuntu 使用的 Gnome 桌面环境中,双击即可运行任何程序它在文件管理器中是已弃用。它在某些用例中确实很方便。在其他用例中,它可能会让用户感到困惑,而且肯定会成为一场安全噩梦。这可能是它被弃用的一个重要原因。
实际上仍然可以进行设置,但是,它不再是默认设置。
- 如果您是一名开发人员,需要在开发过程中运行应用程序,请打开终端。输入一次程序名称(用于Tab命令完成。然后使用向上箭头重复该命令。
- 如果您是需要运行某个应用程序的最终用户,请正确安装它。在您的
~/bin
或~/.local/bin
目录中安装或链接可执行文件。只需输入名称即可从终端运行它,或者在中为其创建启动器~/.local/share/applications
。然后,您可以从应用程序概述中运行它,甚至可以将其固定到 dock 以便快速访问。
不过,您可以通过设置一个启动器来运行.desktop
您作为参数提供的文件,从而设置从文件管理器运行文件的功能。.desktop
带有该行的启动器Exec=gnome-terminal -- %f
将打开 Gnome 终端并(尝试)运行提供的文件名(以 表示)%f
。如果它是一个脚本,您将看到它在终端中运行。如果它是一个图形应用程序,Gnome 终端将短暂加载,但在图形应用程序启动后消失。一个最小的.desktop
启动器是:
[Desktop Entry]
Name=Generic application runner
Comment=Runs executable files
Exec=gnome-terminal -- %f
Type=Application
.desktop
在中安装文件后~/.local/share/applications
,您可以通过右键单击并选择“打开方式...”来运行任何程序。您可以将具有特定扩展名的文件(例如.sh
脚本)关联到该启动器,以便双击即可运行。
或者,您至少需要切换到仍然支持该功能的文件管理器,或者切换到另一个桌面环境,如 Mate 或 Xfce。
答案2
答案3
在 Ubuntu 22.04 中,我右键单击,然后“作为程序运行”,这并不比双击麻烦多少,但我总是忘记。当我双击时,它会打开编辑器。
答案4
这些脚本被视为可执行文件,因此您只能从环境中调用。(除非您需要编辑它们)。
我用这个方法完成了这些任务(在 KDE 等离子环境中)
- 在您的桌面上创建一个包含此内容的 .desktop 文件
[桌面条目]
注释 = 链接到我的脚本
Exec = /path/to/your/script
GenericName =
Icon = system-run
名称 = 链接到我的脚本
StartupNotify = true
Terminal = true
TerminalOptions =
类型 = 应用程序
- 保存并执行“双击”以最终展示魔术!
笔记
选项“Terminal=true”.
您可以在终端窗口中调用您的任务。
笔记2
显然你可以在 Dolphin 中的“打开可执行文件时”选项中设置“始终询问”(Ctrl + shift +,)