如何使Geany成为Ubuntu上的默认编辑器?


23

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

update-alternatives --config editor

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

因此,添加Geany,这应该行得通吗?

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

另外,请注意,是否可以亲自建议我将默认编辑器从nano更改为Geany,为什么?


@izx绝对:)我仍然很想知道命令行方式是什么。无论如何,我都会将您的答案标记为已接受:)
编程Noob

Answers:


16

命令行方式是:

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

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

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


5
我做到了,选择了Geany,* 3 /usr/bin/geany 10 manual mode但是当我尝试通过在Nautilus中双击打开文本文件时,它仍然使用gedit打开。

@ToDo我也是。想知道如何才能撤消这些命令。

14

作为替代,这也对我有用:

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

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

在这里找到它,以及一堆关于配色方案的有用信息。


1
这就像一个魅力。
Faisal说

1
太棒了!与接受的答案不同,您的解决方案实际上对我有用。谢谢!#12.04
king_julien 2013年

知道我该如何撤消吗?
king_julien

不知道,但请看下面的答案,因为(另一个)史蒂夫在解释这个人的实际工作方面做得很出色-您应该能够从那里进行反向工程。为什么要撤消呢?这对我来说是一个很好的解决方案,并且对我来说已经超过6个月了……
Steve

11

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

我的问题是我不喜欢复制和粘贴我不了解的内容,因此这里是到目前为止的答案的解释。

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

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

这里有一些细节:

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

    • 将geany(GUI应用程序)添加到备用编辑器列表中,并将其设置为默认值。
    • 我一直认为编辑器通常是为基于文本的编辑器(例如vi,vim,nano等)保留的,但是我刚刚检查了一下,这似乎也能正常工作。
    • 结果意味着您可以在以下情况下使用您选择的默认值打开文件:
  2. MIME类型的解决方案-来自“ 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”更改。

解:

使用以下命令查找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

这非常有帮助,但是您也可以考虑编辑和改善现有答案。它的工作量通常要少得多。
汤姆·布鲁斯曼

2
汤姆,谢谢,谢谢。对于编辑人们的答案,我总是有些担心。我将在接受的答案中添加评论。
Steve-B

不用担心,在这里编辑别人的帖子。编辑会受到同行评审,直到您达到2000 rep,然后它们就会直接通过。将所有良好的信息保存在一个答案中,便于以后查找。
汤姆·布鲁斯曼

1

因为有评论表明接受的答案不正确,所以我认为我应该指出这个问题不能有一个答案。如果更改了问题以指定CLI,并且GUI查询移到了新线程,这将消除混乱。我想为时已晚。

无论如何在Ubuntu 14.04下在gnome上安装鹦鹉螺(aka文件)。并给出了可接受的答案,您可能会像我一样希望与之对应的是:
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的替代方案之内。当然,如果没有Nautilus团队的支持,毫无意义地进行此类事情,他们还需要指定API或等效机制。

我认为设置页面需要覆盖默认的gnome编辑器选择和用于打开每个单独文件的应用程序(这将替换Nautilus提供的当前功能)。

我将其发布为一个过时的想法,如果它吸引您,请随时推动它前进。可悲的是,我本人不知道这样做的必要程序和规程。

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.