将文件类型与特定应用程序全局关联

将文件类型与特定应用程序全局关联

我不需要“Ubuntu-tweak”,而且我知道使用右键单击和“打开方式”将某些文件与某些应用程序关联的 GUI 方法。我在文件中全局设置文件类型关联时遇到问题:

/usr/share/gnome/applications/defaults.list

例如:

image/x-psd=gimp.desktop

如果我想在 Photoshop 中打开所有 PSD,我已经创建了 photoshop.desktop 文件并将其放在 下/usr/share/applications。现在,当我按下 Super (windows) 键并输入 Photoshop 时,我会看到该图标,但我看不到:

  1. 将其拖放到我的桌面上。我该怎么做?
  2. 如果我将其更改image/x-psd=gimp.desktop为,image/x-psd=photoshop.desktop它仍然会以 gimp 形式打开。为什么?

提前致谢。

答案1

我自己解决了我的问题。

文件/etc/gnome/defaults.list被覆盖~/.local/share/applications/mimeapps.list,因此所有文件关联都进入mimeapps.list文件:

[Default Applications]
image/vnd.adobe.photoshop=wine-extension-8bs.desktop

在此示例中,我已设置为.psd通过 Wine 在 Photoshop 中打开。如果我进入/etc/gnome/defaults.list并添加:

image/vnd.adobe.photoshop=gimp.desktop

它无法.psd在 Gimp 中打开,因为它被覆盖了mimeapps.list。花了几个小时才弄清楚,哈哈。

答案2

亡灵法术。
以下方法对我有用:

将我想要的应用程序添加到 /usr/share/applications。

sudo gedit /usr/share/applications/bash.desktop

从终端(gnome-terminal.desktop)复制粘贴,并用 bash 替换 gnome-terminal:

[Desktop Entry]
Name=Bash
Comment=Use the command line
Keywords=shell;prompt;command;commandline;cmd;bash;
TryExec=bash
Exec=bash
Icon=utilities-terminal
Type=Application
X-GNOME-DocPath=gnome-terminal/index.html
X-GNOME-Bugzilla-Bugzilla=GNOME
X-GNOME-Bugzilla-Product=bash
X-GNOME-Bugzilla-Component=BugBuddyBugs
X-GNOME-Bugzilla-Version=3.18.3
Categories=GNOME;GTK;System;TerminalEmulator;
StartupNotify=true
X-GNOME-SingleWindow=false
OnlyShowIn=GNOME;Unity;
Actions=New
X-Ubuntu-Gettext-Domain=bash

[Desktop Action New]
Name=New Shell
Exec=bash
OnlyShowIn=Unity

现在将应用程序与 shell 脚本关联起来。
为此,请编辑 mimeapps.list:

gedit ~/.local/share/applications/mimeapps.list 

在末尾添加以下几行(在 [默认应用程序] 部分的所有条目之后):

[Added Associations]
application/x-shellscript=bash.desktop

现在在“文件管理器”(又名 nautilus)中,浏览到您要打开的文件之一。选择“属性”。在“打开方式”选项卡中,选择重置。

瞧,如果您用鼠标双击,Shell 脚本现在将由 bash 打开。

答案3

您可以%U[Exec]字段中添加。

前任:[Exec] = command %U

当你使用以下方式打开文件时打开用,应用列表中显示该应用,打开后将保存为默认应用。

相关内容