Ubuntu / Unity将脚本附加到启动器


12

我最近下载了IntelliJ IDEA并通过运行启动应用程序. idea.sh。该应用程序在运行时会显示在启动器中,但是由于某些原因,当我右键单击该应用程序时,没有像其他应用程序一样看到“锁定启动器”选项。

如何将其连接到启动器?

是否因为我正在运行脚本而不是直接禁用该选项的可执行文件?

Answers:


16

看来有两种方法可以做到这一点。

方法#1:手动创建.desktop文件

是的,您需要为其创建自定义.desktop启动器。以下是一般步骤:

  1. /usr/local/share/applications(或/usr/share/applications取决于您的系统)中创建* .desktop文件。

    $ gksudo gedit <insert-path-to-new-file.desktop>
    
  2. 在文字下方粘贴

    [Desktop Entry]
    Type=Application
    Terminal=false
    Name=IntelliJ IDEA
    Icon=/path/to/icon/icon.svg
    Exec=/path/to/file/idea.sh
    

    编辑Icon=Exec=Name=。还Terminal=True/false可以确定天气,终端会打开一个窗口并显示输出或在后台运行。

  3. 将.desktop文件放入Unity Launcher面板。对于此步骤,您需要在文件浏览器中导航到上一步中创建的.desktop文件的位置。找到文件后,将文件拖到侧面的Unity Launcher栏中。完成此操作后,您可能需要运行以下命令以使系统识别新添加的.desktop文件。

    $ sudo update-desktop-database
    

方法2:GUI方法

无需手动创建.desktop文件,您可以调用GUI来帮助完成此任务。

  1. 安装gnome面板

    $ sudo apt-get install --no-install-recommends gnome-panel
    
  2. 启动.desktop GUI生成器

    $ gnome-desktop-item-edit ~/Desktop/ --create-new
    

                      编辑器

参考文献


sudo update-desktop-databas应该是sudo update-desktop-database
Trindaz

另外,方法#1($ sudo ...)的最后一行不应该在那。经过一番猜测之后,我发现“将其放在统一面板中” =打开文件浏览器并找到在步骤1中创建的文件,然后将其拖到“启动器”中。“ Panel”在Unity中似乎是一个模糊的术语,具体取决于您与谁交谈。
Trindaz 2013年

@Trindaz-是的,因为缺少细节,我不确定在查看另一篇教程的确切步骤时,我不确定该怎么做。我将按照该步骤中的说明添加详细信息。LMK,如果他们看起来还可以。
slm

这对我在18.04上有效,但在19.04上尝试过,配置文件将作为文本文件打开!真痛苦
四元论

从他们的评论中引用@MDMower(unix.stackexchange.com/questions/170823/…):或者,如果仅为当前用户安装此应用程序,则将.desktop文件放入~/.local/share/applications
John Freeman

1

在我的情况下,可以使用以下命令,从启动器启动shell脚本,并使shell窗口保持打开状态

方法

  • 本示例与一起mate-terminal使用,gnome-terminal如果它在您的系统上,请使用。
  • 这个例子是一个php cli shell脚本,要了解这个主意,可以在此处传递任何命令。
  • -h在这种情况下,一个参数传递给脚本。
  • 添加; bash可在脚本结束后使外壳窗口保持打开状态,例如:

    mate-terminal --execute bash -c "php /home/lilith/Desktop/moon/MOON/moon -h ; bash"
    

其他变化

要使窗口保持打开状态,并在脚本目录中设置路径,请cd在命令前使用a 。例如:

mate-terminal --execute bash -c "cd /home/lilith/Desktop/moon/MOON/ && php moon -h ; bash" 

这允许启动一些其他命令,而不必保留在当前工作目录中。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.