如何创建图标来执行自定义的 gnome-terminal 命令?

如何创建图标来执行自定义的 gnome-terminal 命令?

我想要一个图标,双击它就可以执行终端命令。到目前为止,我已经创建了一个可执行脚本:

#!/bin/bash

gnome-terminal -e cd ~/gPodder/Downloads/M4As\ To\ Be\ Converted/ && for f in *.m4a; do avconv -i "$f" "${f/%m4a/wav}"; done && for i in *.wav; do opusenc --bitrate 26 --downmix-mono "$i" "${i/%wav/opus}"; done && find . -type f -iname \*.wav -delete

由于我只是随意地把东西放在一起,所以我并不惊讶它不起作用,那么我必须改变什么才能让它打开一个新的终端窗口来执行指定的命令序列呢?

实际命令(从cd到开始-delete)在终端窗口中手动输入时确实有效。

答案1

使用 .desktop 文件调用脚本,将其放入文本文件中并使用扩展名保存.desktop

[Desktop Entry]
Name=My script
Comment=Runs my script
Exec=
Icon=
Terminal=false
Type=Application

您可以在行上exec放置脚本的路径,图标的路径也一样。

chmod +X然后,您可以通过右键单击并转到权限来使该文件可执行。

您可以将其添加到启动器或任何您喜欢的位置,然后单击它来运行脚本。

答案2

  1. 创建一个启动器,它将在你的桌面上执行你的命令
  2. 将启动器移至/usr/share/applications
  3. 设置启动器文件的读取和执行权限,以便每个用户都可以访问和执行它。

详细解答:https://askubuntu.com/a/68023/332981

答案3

如果您创建一个单独的脚本,那就容易多了,比如说~/bin/foobar,从适当的“shebang”行(例如#!/bin/bash)开始,赋予它可执行权限,然后要求 gnome-terminal 运行该脚本,即gnome-terminal -e foobar

如果您确实需要内联复杂的命令行,请从这个概念证明开始:

gnome-terminal -e 'bash -c "cd somewhere; ls; sleep 10"'

如果您可以确认它可以正常工作,那么请将最里面的命令行替换为您喜欢的任何内容,并"\"所有地方进行替换。

相关内容