无法将 Sublime Text 设置为默认应用程序

无法将 Sublime Text 设置为默认应用程序

我想将 Sublime Text 设置为我的默认应用程序来打开 .cpp 和 .java 等文件,但是“选择应用程序”中的任何应用程序列表均不显示 Sublime Text。

我尝试了这个链接中的方法,但是没有效果: 将所有关联从 gedit 更改为另一个应用程序

还有其他方法吗?

以下是一些相关命令的输出,希望有帮助:

$ ls -al /usr/share/applications/*sublime*
-rw-r--r-- 1 root root 230 Aug  8 23:50 /usr/share/applications/sublime.desktop
-rw-r--r-- 1 root root 532 Sep 23  2016 /usr/share/applications/sublime_text.desktop

$ ls -al /usr/local/share/applications/*sublime*
ls: cannot access '/usr/local/share/applications/*sublime*': No such file or directory

$ ls -al /opt
total 20
drwxr-xr-x  5 root root 4096 Aug  8 23:58 .
drwxr-xr-x 25 root root 4096 Aug 11 08:07 ..
drwxr-xr-x  3 root root 4096 Apr 21 16:02 google
drwxr-xr-x  5 root root 4096 Jul 14  2012 sublime
drwxr-xr-x  4 root root 4096 Aug  8 23:58 sublime_text

$ cat /usr/local/share/applications/sublime*.desktop
cat: '/usr/local/share/applications/sublime*.desktop': No such file or directory

$ cat /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;

回应评论:

运行后得到的输出sudo fsck -f /

这是每次执行上一个命令后几秒出现的内容

自动出现的屏幕链接

左侧图标(带有方框的图标)是 Sublime Text 3,我想要为其设置默认路径。右侧图标(带有 S 的图标)是 Sublime Text 2,由于版本已过期,无法打开。

左边是 Sublime Text 3

答案1

更简单... 右键单击​​任何 .c++ 或 .java 文档,选择Properties。转到Open With选项卡,Sublime在可用应用程序列表中选择,然后单击Set as Default

如果出于某种原因,Sublime 没有出现在您的 Unity 仪表板或可用应用程序列表中,那么您应该重新安装 Sublime,因为它缺少 .desktop 文件。建议您使用 Sublime 3 beta,因为 Sublime 2 已经过期。

更新#1:

要检查 Ubuntu 分区上的文件系统...

  • 启动到 GRUB 菜单
  • 选择高级选项
  • 选择恢复模式
  • 选择 Root 访问
  • 在 # 提示符下,输入sudo fsck -f /
  • 如果有错误,请重复 fsck 命令
  • 类型reboot

更新 #2:

根据 @Terrance 的说法,这是 的问题/usr/share/applications/defaults.list,并且Sublime Text 2已过期,无法启动。有关详细信息,请参阅已接受的答案。

答案2

对于那些不想阅读与这篇文章相关的冗长评论和聊天的人,我终于找到了答案(来源:@Terrance):

  • 输入cat /usr/share/applications/sublime_text.desktop以检查 ST 3 是否存在 .desktop 文件。

  • 输入sudo nano /usr/share/applications/defaults.list打开默认应用列表。

  • 例如,从默认应用程序编辑 text/x-java 和 text/x-c++ 等行到 ST 3,text/x-java=sublime_text.desktop保存并退出。

在此处输入图片描述

希望这可以帮助 :)

相关内容