每当在Debian 8的Gnome桌面上双击文本文件时,如何强制gedit独立于现有gedit窗口打开新窗口?


9

gedit每当在Debian 8,Jessie的Gnome桌面上双击文本文件(.txt)时,如何被迫独立于现有的gedit窗口打开新窗口?

假设已经在gedit窗口中打开了a.txt,并在Debian 8 Jessie的Gnome桌面上双击了b.txt。然后,不幸的是,默认情况下,b.txt将在与a.txt相同的窗口中的选项卡中打开。

但是,我想b.txt在新的gedit窗口中打开,以便有两个窗口-a.txt的现有窗口和b.txt的新窗口。

如果Gnome使用“ -s”选项调用gedit,例如

gedit -s b.txt

然后b.txt将在新窗口中打开,而a.txt保留在其现有窗口中。

但是,默认情况下,Gnome似乎在不带“ -s”选项的情况下调用gedit。

配置文件

/usr/share/applications/org.gnome.gedit.desktop

包含执行指令

Exec=gedit %U

因此,我将其更改为

Exec=gedit -s %U

通过以下命令,并重新启动计算机。

cd /usr/share/applications
su # similar to sudo
mv org.gnome.gedit.desktop org.gnome.gedit.desktop.bak
perl -pe 's/Exec=gedit %U/Exec=gedit -s %U/' org.gnome.gedit.desktop.bak > org.gnome.gedit.desktop
diff org.gnome.gedit.desktop org.gnome.gedit.desktop.bak

但是,此方法失败。b.txt仍在与a.txt相同的窗口中的选项卡中打开。我被困住了。我需要你的帮助。

gedit的默认模式是“单个窗口,多个选项卡”。我想要“多个窗口”模式。

顺便说一句,以下无用的方法将gedit变成了“单个窗口,没有选项卡”模式,这不是我想要的。

gsettings set org.gnome.gedit.preferences.ui show-tabs-mode 'never'

使用此“ gsettings”方法,每当在桌面上双击b.txt时,gedit都会自动关闭a.txt并重新使用a.txt的现有窗口在其中打开b.txt。因此,它是“单个窗口,没有选项卡”模式(与“多个窗口”相对)。

(顺便说一句,“ show-tabs-mode”的默认值为“ auto”。)


@don我对启动器不是很熟悉。有什么命令来调用单独的启动器?
i7pj3qnuz

Answers:


5

Exec无法修改.desktop文件中的密钥的原因是gedit已激活DBus。这意味着它是通过会话的DBus守护程序启动的,然后为此类可激活程序提供公共DBus接口,以指定要打开的文件。您可以通过将DBusActivatable密钥更改为来防止这种情况false

同样,在主目录中创建要修改的.desktop文件的副本,并使用该副本覆盖系统范围的副本,比直接修改系统范围的副本要好得多。这样,系统版本将不会在发行版软件包更新中被覆盖。为此,只需复制/usr/share/applications/org.gnome.gedit.desktop~/.local/share/applications/org.gnome.gedit.desktop。此路径中的文件将覆盖系统范围目录中具有相同名称的文件。

然后,用于打开新窗口的两个可能的标志之间也存在重要区别:--new-window-s。两者都将导致文件在新窗口中打开,但-s每个窗口也将属于其自己的进程。使用--new-window所有Windows时,共享相同的gedit过程。

最后,如果在文件管理器中选择了多个文件并打开它们,要确保它也能正常工作,则需要对Exec密钥进行另一次修改。这%U意味着允许使用多个URL作为该命令的参数,这意味着文件管理器将以如下方式启动它:gedit --new-window file1.txt file2.txt。这将导致一个带有两个选项卡的新窗口。如果将其更改为%u现在,这将告诉文件管理器,该应用程序仅接受单个URL作为参数,因此使它多次运行命令,每次都以不同的文件作为其参数。有关此的更多详细信息,请参见freedesktop桌面条目规范


0

根据塞巴斯蒂安的答案,请执行以下操作:

  1. 制作gedit配置的本地副本。您所做的更改仅适用于当前用户。

    cp /usr/share/applications/org.gnome.gedit.desktop〜/ .local / share / applications / geditNewWin.desktop

  2. 在文件〜/ .local / share / applications / geditNewWin.desktop中:转到所有EXEC=行(有几行)并将其设置为Exec=gedit -s %U。进一步更改Name=Text EditorName=Text Editor (new window)

  3. 在Nautilus文件管理器(Gnome中的标准文件管理器,通常称为“文件”或Gnome文件)中,将文件类型(.txt,.csv等)与您新创建的应用程序相关联:

    • 右键单击.txt文件(或所需的任何文件类型)
    • 点击“属性”
    • 选择标签“打开方式”
    • 从列表中选择“文本编辑器(新窗口)”
    • 点击“设置为默认”
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.