在 Ubuntu 18.04 中,当我打开第二个文本文件时,它会在新窗口中打开。
在 Ubuntu 19.10 中,当我打开第二个文本文件时,它会在现有窗口中以新选项卡打开。
我已经尝试过这篇文章中的答案配置 gedit 始终在新窗口中打开但没有成功。
我如何在 Ubuntu 19.10 中实现这一点?
答案1
根据此链接https://developer.gnome.org/desktop-entry-spec/如果 .desktop 文件的 EntryDBusActivatable
设置为,true
它将忽略该Exec
行。
DBus可激活:
一个布尔值,指定此应用程序是否支持 D-Bus 激活。如果缺少此键,则默认值为 false。如果值为 true,则实现应忽略 Exec 键并发送 D-Bus 消息以启动应用程序。有关其工作原理的更多信息,请参阅 D-Bus 激活。应用程序仍应在其桌面文件中包含 Exec= 行,以与不理解 DBusActivatable 键的实现兼容。
Ubuntu 19.10 有DBusActivatable=true
gedit .desktop 文件的这个条目,该文件是org.gnome.gedit.desktop
文件..
这个答案只是一个解决方法,因为只是为了让 Exec 键在这种情况下工作。我在不DBusActivatable=false
知道这个键的优点的情况下做了这个(https://developer.gnome.org/desktop-entry-spec/#dbus) 及其在 Ubuntu 19.10 及更高版本中的实现。
好的,现在我们设置DBusActivatable=false
这意味着Exec=
线路将会起作用。
所以就我而言我已经改变了
Exec = gedit %U
到
Exec = gedit --new-window
您man gedit
可以选择以下选项[Desktop Action new-document]
--new-window
Create a new toplevel window in an existing instance of gedit.
--new-document
Create a new document in an existing instance of gedit.
-s, --standalone
Run gedit in standalone mode.
答案2
/usr/share/applications/gedit.desktop
通过更改以下行来编辑:
Exec=gedit %U
通过添加--new-window
选项:
Exec=gedit --new-window %U
它将定义为始终gedit
在新窗口中打开。
附言:这是我gedit.desktop
使用此选项的整个文件,在 18.04 上运行良好:
[Desktop Entry]
Name=Text Editor
Comment=Edit text files
Exec=gedit --new-window %U
Terminal=false
Type=Application
StartupNotify=true
Icon=gedit
Categories=GNOME;GTK;Utility;TextEditor;
X-GNOME-DocPath=gedit/gedit.xml
X-GNOME-FullName=gedit Text Editor
X-GNOME-Bugzilla-Bugzilla=GNOME
X-GNOME-Bugzilla-Product=gedit
X-GNOME-Bugzilla-Component=general
X-GNOME-Bugzilla-Version=3.28.1
X-GNOME-Bugzilla-ExtraInfoScript=/usr/share/gedit/gedit-bugreport.sh
Actions=new-window;new-document;
Keywords=Text;Editor;Plaintext;Write;
X-Ubuntu-Gettext-Domain=gedit
X-AppStream-Ignore=true
[Desktop Action new-window]
Name=New Window
Exec=gedit --new-window
[Desktop Action new-document]
Name=New Document
Exec=gedit --new-document
您可以注意到新建文档选项不会打开新窗口,您可以再次添加此--new-window
选项(这样它就可以Exec=gedit --new-document --new-window
代替Exec=gedit --new-document
)