如何将 Geany 设为 Ubuntu 上的默认编辑器?

如何将 Geany 设为 Ubuntu 上的默认编辑器?

我实际上想将 Ubuntu 12.04 上的默认文本编辑器从 nano 更改为 Geany。当我使用此代码时:

update-alternatives --config editor

..我在列表中没有看到 Geany。

那么添加 Geany,这应该可以工作,对吗?

update-alternatives --install /usr/bin/geany geany /usr/bin/geany 10

另外,顺便问一下,您能否告诉我您是否个人建议我将默认编辑器从 nano 更改为 Geany,以及原因?

答案1

命令行方式为:

sudo update-alternatives --install /usr/bin/editor editor /usr/bin/geany 10

然后sudo update-alternatives --config editor根据需要使用选择 Geany。

作为命令行方法的图形替代方法,请考虑使用Gnome 替代品sudo apt-get install galternatives)。 跑步GAlternatives, 选择编辑在左栏中,然后在右侧添加/选择 Geany。

答案2

另外,这对我也有用:

xdg-mime default geany.desktop $(grep MimeType /usr/share/applications/geany.desktop | sed 's/MimeType=//' | sed 's/;/ /g')

此行获取 gedit 注册的所有 MimeType,执行一些清理(命令sed)并最终将 geany 设置为它们的默认应用程序。

在这里找到以及大量有关配色方案的有用信息。

答案3

这有点晚了,但我认为这可能会对某些人有所帮助。

我的问题是我不喜欢复制和粘贴我不理解的东西,所以这里是对迄今为止的答案的解释。

首先,这里有两个问题,并且两个答案本身都是正确的:

  1. 默认命令行编辑器 - 通过“izx”解决
  2. 桌面会话中 GUI 应用程序的文件类型(mime 类型)关联 - 由“Steve”解决。

这里更详细一点:

  1. 命令行解决方案 - 来自'izx'

    • 将 geany(一个 GUI 应用程序)添加到备用编辑器列表并将其设置为默认编辑器。
    • 我一直以为编辑器通常保留用于基于文本的编辑器,如 vi、vim、nano 等,但我刚刚检查过,这似乎也能正常工作。
    • 结果意味着您可以使用您选择的默认值来打开文件,例如:
  2. mime-type 解决方案 - 来自“Steve”

在文件级别,有两个重要列表:

/usr/share/applications/defaults.list- 系统默认列表。

~/.local/share/applications/mimeapps.list- 用户个人桌面会话默认列表

该命令起什么作用?

来自 xdg-mime 手册页(man xdg-mime)

xdg-mime - command line tool for querying information about file type handling and adding descriptions for new file type

xdg-mime default...命令将条目添加到用户个人列表中。

让我们把这个命令分解一下。

命令:

xdg-mime default geany.desktop $(grep MimeType /usr/share/applications/geany.desktop | sed 's/MimeType=//' | sed 's/;/ /g')

该命令可以读作:

将 geany.desktop 设置为输出 mime 类型的默认应用程序 $(grep MimeType /usr/share/applications/geany.desktop | sed 's/MimeType=//' | sed 's/;/ /g')

看着

$(grep MimeType /usr/share/applications/geany.desktop | sed 's/MimeType=//' | sed 's/;/ /g')
  • 从 geany.desktop 文件中获取所有 mime 类型
  • 删除“MimeType=”
  • 将“;”替换为“ ”
  • 给我们:
    text/plain text/x-chdr text/x-csrc text/x-c++hdr text/x-c++src text/x-java text/x-dsrc text/x-pascal text/x-perl text/x-python application/x-php application/x-httpd-php3 application/x-httpd-php4 application/x-httpd-php5 application/xml text/html text/css text/x-sql text/x-diff

运行命令后查看用户的个人文件,我们可以看到为 geany.desktop 应用程序设置的所有文件关联:

[Default Applications]
x-scheme-handler/mailto=userapp-Thunderbird-ZP00XW.desktop
message/rfc822=userapp-Thunderbird-ZP00XW.desktop
application/x-extension-eml=userapp-Thunderbird-ZP00XW.desktop
application/x-perl=sublime_text.desktop
text/plain=geany.desktop
text/x-chdr=geany.desktop
text/x-csrc=geany.desktop
text/x-dtd=sublime_text.desktop
text/x-java=geany.desktop
text/mathml=sublime_text.desktop
text/x-python=geany.desktop
text/x-sql=geany.desktop
text/x-c++hdr=geany.desktop
text/x-c++src=geany.desktop
text/x-dsrc=geany.desktop
text/x-pascal=geany.desktop
text/x-perl=geany.desktop
application/x-php=geany.desktop
application/x-httpd-php3=geany.desktop
application/x-httpd-php4=geany.desktop
application/x-httpd-php5=geany.desktop
application/xml=geany.desktop
text/html=geany.desktop
text/css=geany.desktop
text/x-diff=geany.desktop

了解了这一点,这就是我的具体问题以及我如何解决它。

问题:

我想将 Nautilus 中的默认“文件打开”应用程序从“gedit”->“sublime text”更改为“sublime text”。

解决方案:

使用以下命令查找 gedit 的系统默认设置:

$less /usr/share/applications/defaults.list | grep gedit
application/x-perl=gedit.desktop
text/plain=gedit.desktop
text/x-chdr=gedit.desktop
text/x-csrc=gedit.desktop
text/x-dtd=gedit.desktop
text/x-java=gedit.desktop
text/mathml=gedit.desktop
text/x-python=gedit.desktop
text/x-sql=gedit.desktop

将“gedit”替换为“sublime_text”,并将条目添加到我个人 defaults.list 的“默认应用程序”部分

application/x-perl=sublime_text.desktop
text/plain=sublime_text.desktop
text/x-chdr=sublime_text.desktop
text/x-csrc=sublime_text.desktop
text/x-dtd=sublime_text.desktop
text/x-java=sublime_text.desktop
text/mathml=sublime_text.desktop
text/x-python=sublime_text.desktop
text/x-sql=sublime_text.desktop

答案4

因为有评论指出接受的答案不正确,我觉得我应该指出这个问题不能只有一个答案。如果将问题更改为指定 CLI,并将 GUI 查询移至新线程,这将消除混乱。我想这已经太晚了。

无论如何,对于 Ubuntu 14.04 下 gnome 上的 nautilus (又名文件)。 鉴于公认的答案,您可能 (像我一样) 期望等效答案是:
donotdothisssudo update-alternatives --install /etc/alternatives/gnome-text-editor gnome-text-editor /usr/bin/geany 10

我也是这么想的,而且它破坏了链接,所以不要这么做!如果你这么做了,这就是我的情况:
lrwxrwxrwx /usr/bin/gnome-text-editor -> /etc/alternatives/gnome-text-editor lrwxrwxrwx /etc/alternatives/gnome-text-editor -> /usr/bin/gedit

在修复此错误时,我重新创建了这些链接,如下所示:
lrwxrwxrwx /usr/bin/gnome-text-editor -> /etc/alternatives/gnome-text-editor lrwxrwxrwx /etc/alternatives/gnome-text-editor -> /usr/bin/geany

由于我实际上所做的只是更换辅助 Simlink,并且我希望系统能做出响应,因此我猜测任务很简单:
sudo ln -s /usr/bin/geany /etc/alternatives/gnome-text-editor

但是,运行 CLI 命令来更改特定于 GUI 的内容肯定是错误的。当我搜索此更改选项时,我的手会带我去 nautilus 菜单系统,位于单个文件类型设置旁边。但是,我去那里的唯一原因是因为解决方案的一部分就在那里。在我看来,如果您遵循了 DPKG(更新替代方案)的逻辑,并将其包含在您的发行版中,那么您就不希望像 Nautilus 这样的用户空间应用程序干扰您的设置管理器应用程序。我解决这个问题的谦虚建议是将新的编辑器设置控件添加到设置 >> 详细信息 >> 默认应用程序,从用户的角度来看,这需要是一个新页面。然后,Nautilus 团队需要更改其菜单,以便将用户重定向到该新页面。这会损害我的手带我去寻找设置的地方,我的手“应该”带我去那里,并管理系统设置的单点输入过程。看起来这个变化需要在 debian 的 galternatives 端口内,尽管我只是猜测。当然,如果没有 Nautilus 团队的支持,那么继续推进这种事情就没有意义,他们还需要指定 API 或等效机制。

在我看来,设置页面需要涵盖默认的 gnome 编辑器选择和用于打开每个单独文件的应用程序(以取代 Nautilus 提供的当前功能)。

我发布此帖只是一时的想法,如果您感兴趣的话,请随意发表。遗憾的是,我自己不知道这样做所需的程序和协议。

相关内容