对于特定的 GTK3 应用程序

对于特定的 GTK3 应用程序

我想看到应用程序在 Gnome 3 上运行时的样子(标题栏中有按钮):

侏儒

与我平常看到的不同:

统一

我可以在启动任何应用程序之前运行以下命令来实现我想要的效果:

export GTK_CSD=1
export XDG_CURRENT_DESKTOP=GNOME

我尝试编辑此文件以使更改永久生效:

/usr/share/xsessions/ubuntu.desktop

在该文件中我进行了如下更改:

DesktopNames=Unity

这样:

DesktopNames=GNOME

但 Unity 将无法启动。

我正在寻找一种默认使用 GTK3 标题栏的方法。这可能吗?

答案1

  1. 您可以通过创建新文件来启用该功能

    sudo nano /etc/profile.d/csd.sh
    
  2. 包含

    export GTK_CSD=1
    export XDG_CURRENT_DESKTOP=Unity:GNOME
    
    #export GTK_THEME=Ambiance
    #export GTK_THEME=Adwaita:dark
    
  3. 登出/登录

参考: 表示新的冒号格式Unity:GNOMEhttps://bugs.launchpad.net/ubuntu/+source/nautilus/+bug/1554878

相关问题: Ubuntu Unity 中的默认 GTK 3 主题引擎是什么?

相关页面: 如何修复 Ubuntu 中 CSD 窗口周围的黑角?

测试:

  • Bharadwaj Raju 的解决方案目前来说是最好的

    使用/etc/profile..

    export XDG_CURRENT_DESKTOP=GNOME
    

    gnome-software 正常,gnome-calculator 正常,nautilus 正常(黑色尖角,如果关闭然后再次启动会变小),unity-control-center 失败(没有组件,应该运行XDG_CURRENT_DESKTOP=Unity

  • 我的(见上文):

    gnome-software 否,gnome-calculator 否,nautilus 正常(黑色尖角,如果被杀死然后再次启动就会变小),unity-control-center 否。

  • 再次尝试export XDG_CURRENT_DESKTOP=""

    gnome-software 正常,gnome-calculator 正常,nautilus 失败,unity-control-center 失败。

答案2

对于特定的 GTK3 应用程序

编辑他们的.desktop文件(Nautilus 位于/usr/share/applications/nautilus.desktop

env XDG_CURRENT_DESKTOP=GNOME并在每行后面添加Exec=。例如,nautilus.desktopExec=行(它有两行,一行用于打开新窗口)将从...

Exec=nautilus --new-window %U
[… Some other lines, skipping …]
Exec=nautilus --new-window

Exec=env XDG_CURRENT_DESKTOP=GNOME nautilus --new-window %U
[… Some other lines, skipping …]
Exec=env XDG_CURRENT_DESKTOP=GNOME nautilus --new-window

/usr/share/applications/nautilus-autostart.desktop注意:如果您使用 Unity,请对和/或执行相同操作/etc/xdg/autostart/nautilus-autostart.desktop

(你可能必须注销/登录。)

对于所有 GTK3 应用程序

警告:告诉全部DE 是 GNOME 的应用程序可能导致副作用。

编辑: Unity 无法从此启动。

编辑~/.profile并添加一行:

export XDG_CURRENT_DESKTOP=GNOME

那么所有应用程序都会遵循此。

答案3

基于 user.dz,运行

sudo nano /etc/profile.d/csd.sh

填补

export XDG_CURRENT_DESKTOP=GNOME

进而

cd /usr/share/applications
sudo sed -i 's/Exec=/Exec=env XDG_CURRENT_DESKTOP=Unity:Unity7 /g' unity*

退出并重新登录

或者,仅将当前安装的应用程序更改为在 CSD 模式下运行,

sudo sed -i 's/Exec=/Exec=env XDG_CURRENT_DESKTOP=GNOME /g' ^(?!unity).*$

相关内容