崇高文字未显示在Nautilus“打开方式”菜单中


56

我正在运行Ubuntu 15.10。

我的/usr/share/applications/sublime_text.desktop包含以下内容:

[Desktop Entry]
Version=1.0
Type=Application
Name=Sublime Text
GenericName=Text Editor
Comment=Sophisticated text editor for code, markup and prose
Exec=/opt/sublime_text/sublime_text %F
Terminal=false
MimeType=text/plain;
Icon=sublime-text
Categories=TextEditor;Development;
StartupNotify=true
Actions=Window;Document;

[Desktop Action Window]
Name=New Window
Exec=/opt/sublime_text/sublime_text -n
OnlyShowIn=Unity;

[Desktop Action Document]
Name=New File
Exec=/opt/sublime_text/sublime_text --command new_file
OnlyShowIn=Unity;

右键单击xxx.mdGnome文件(以前为“ Nautilus”)中的markdown文件()时,即使选择“查看所有应用程序”,也看不到“ Sublime Text”。

我什至尝试分别在和和中添加%F到行,但它没有改变任何内容。Exec=/opt/sublime_text/sublime_text -nExec=/opt/sublime_text/sublime_text --command new_file[Desktop Action Window][Desktop Action Document]

我什至跑了sudo update-desktop-database

我究竟做错了什么?


您正在运行什么版本的Sublime,以及如何安装它?您是否将其添加到/usr/share/applications/defaults.list并替换了所有gedit.desktop条目?
MattDMo'2

我正在运行从.deb文件安装的x64的Sublime Text v3(内部版本3103)。我没有编辑defaults.listgedit.desktop。这些文件应包含什么?
拉尔夫

1
Markdown没有MIME类型text/plain,它是此桌面文件中唯一注册的MIME类型。
David Foerster

Answers:


123

复制的内容/usr/share/applications/sublime_text.desktop~/.local/share/applications/sublime_text.desktop

或简单地使用:

cp -it ~/.local/share/applications /usr/share/applications/sublime_text.desktop

然后在终端中输入: sudo update-desktop-database


6
很好的解决方案。如果您也提供了有关此功能的解释,那将是很好的。
padawanTony

1
@padawanTony Ubuntu中有文件类型(MIME类型)的缓存,每种MIME类型都有相关的应用程序。将文件复制到sublime_text.desktop可以与文本文件相关的正确文件上(包含以下行:MimeType=text/plain;本地文件夹中的默认文件不包含该行)。然后执行sudo命令将更新MIME缓存(在更新的.desktop文件中读取),并且该关系将显示在上下文菜单中。不幸的是,我不能说为什么我们首先在.local下有错误的.desktop文件。
MF.OX

只需从本地文件夹中删除sublime_text.desktop条目就可以了吗?操作系统通常会复制它吗?
minitauros

@agustaf,我使用的是ubuntu 16.04,但/.local/找不到文件夹,请您帮忙
SagarPPanchal

@SagarPPanchal您可以尝试使用创建它,mkdir -p ~/.local/share/applications看看是否仍然可以复制文件。如果这样不起作用,您可能要发布一个新问题。
奥古斯塔夫

7

我尝试了其他答案中提到的所有选项。但是,它以某种方式没有帮助我(我正在使用Ubuntu 16.04,并安装了Sublime-text_build-3126_amd64)。

我看到只有在使用从站点下载的软件包(sublime-text_build-3126_amd64.deb)安装Sublime编辑器时,系统才会出现此问题。但是,从终端安装Sublime可解决此问题。

我尚未从技术上弄清楚为什么两种安装模式之间的应用程序行为有所不同。但是,由于它对我有用,请在此处共享它,以便对他人有所帮助。可行的替代方法是:

  1. 卸载现有的sublime软件包。使用Synaptic Pkg Mgr并彻底清除。
  2. 使用以下命令安装sublime:

    对于Sublime-Text-2:

    sudo add-apt-repository ppa:webupd8team/sublime-text-2
    sudo apt-get update
    sudo apt-get install sublime-text
    

    对于Sublime-Text-3:

    sudo add-apt-repository ppa:webupd8team/sublime-text-3
    sudo apt-get update
    sudo apt-get install sublime-text-installer
    

    输入subl命令立即开始。

  3. 右键单击要在Sublime编辑器中打开的文件。现在,您可以在菜单中找到应用程序“ Sublime text”。另外,您可以通过在文件属性中进行设置,将编辑器设置为默认文件类型。

谢谢!:)


7

万一旧的高速缓存发生了问题,只需删除它,然后让系统为您创建新的。

rm ~/.local/share/applications/sublime_text.desktop

这个对我有用。


1

仅当使用'Ubuntu Make'(umake)安装了sublime文本时,才执行此操作。Ubuntu Make(umake)使安装和更新开发人员工具更加容易。在终端中输入。

cat ~/.local/share/applications/sublime-text.desktop

将显示sublime-text.desktop文件的内容。请注意文件中的以下行:

Exec=/home/ja9/.local/share/umake/ide/sublime-text/sublime_text

您需要更改该行。类型:

sudo nano ~/.local/share/applications/sublime-text.desktop

纳米文本编辑器已打开,将该行编辑为

Exec="/home/ja9/.local/share/umake/ide/sublime-text/sublime_text" %F

确保您输入的首字母为F,不要小。按“ Ctrl + O”。按“输入”。按“ Ctrl + X”。类型:

sudo update-desktop-database

解决的问题:),如果没有,请重新启动系统。 注意: nano非常适合编辑,请尝试一下(尝试)


0

打开/usr/share/applications/defaults.list(一个符号链接/etc/gnome/defaults.list的崇高我的系统上)和替换的所有实例gedit.desktopsublime_text.desktop。保存文件并重新启动计算机-注销并重新登录可能就足够了,但是我怀疑您需要完全退出Gnome才能重新加载设置。重新登录后,Sublime Text应该在右键菜单中列为Markdown文件的默认选项,对于所有可以在文件中打开的文件类型,Sublime Text也应在“打开方式”菜单中。文本编辑器。

编辑:

这是我目前的内容/usr/share/applications/sublime_text.desktop

[Desktop Entry]
Version=1.0
Type=Application
Name=Sublime Text
GenericName=Text Editor
Comment=Sophisticated text editor for code, markup and prose
Exec=/opt/sublime_text/sublime_text %F
Terminal=false
MimeType=text/plain;
Icon=sublime-text
Categories=TextEditor;Development;
StartupNotify=true
Actions=Window;Document;

[Desktop Action Window]
Name=New Window
Exec=/opt/sublime_text/sublime_text -n
OnlyShowIn=Unity;

[Desktop Action Document]
Name=New File
Exec=/opt/sublime_text/sublime_text --command new_file
OnlyShowIn=Unity;

仍然没有喜悦。我的Sublime Text安装一定有些有趣。我将.desktop文件与进行了比较Atom,并没有实质性差异,但Atom出现在open with列表中。
拉尔夫

@拉尔夫很奇怪。我只是使用当前的内容编辑了答案sublime_text.desktop,它的外观与您问题中的内容完全相同。我的下一个建议是完全卸载Sublime(您可以离开~/.config/sublime-text-3),然后重新安装它。/usr/share/applications/defaults.list再次仔细检查以确保所有gedit(也许atom也是?)条目都已替换为sublime_text,然后重新启动并重试。
MattDMo '16
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.