Ubuntu 20.04下永久移除显示应用程序侧边栏的方法咨询
Ubuntu 20.04下永久移除显示应用程序侧边栏的方法咨询
嗨,我来帮你解决这个困扰~你遇到的是Ubuntu 20.04(GNOME桌面环境)里的「活动概览」侧边栏触发问题,触摸屏从左边缘滑动就会呼出它,确实会干扰你的全屏PySide6 GUI应用体验对吧?下面给你几个实用的永久禁用/移除触发的方法:
方法一:用GNOME Tweaks图形化工具修改
- 首先安装GNOME Tweaks:打开终端,输入以下命令执行
sudo apt update && sudo apt install gnome-tweaks - 启动Tweaks工具后,找到「键盘和鼠标」(部分版本显示为「鼠标和触摸板」)选项卡
- 在里面找到「边缘触发」或「活动概览边缘手势」相关设置,直接关闭左侧边缘滑动呼出活动概览的选项
- 针对触摸屏,额外检查「触摸板」分类下的边缘滑动设置,确保所有关联呼出活动概览的手势都被禁用
方法二:用dconf-editor直接修改系统配置
- 先安装dconf-editor工具:
sudo apt install dconf-editor - 打开dconf-editor后,导航到路径
org/gnome/desktop/wm/keybindings - 找到
panel-main-menu选项,将它的默认值修改为[](空数组),这样就能彻底禁用触发侧边栏的所有快捷键和手势 - 另外还可以导航到
org/gnome/desktop/interface,找到enable-hot-corners选项,将其设置为false,彻底关闭所有热角/边缘触发的活动概览功能
方法三:在PySide6应用内屏蔽系统手势
如果只想让你的全屏GUI应用不受影响,而不修改系统全局设置,可以在应用代码里添加逻辑,让窗口独占输入焦点,阻止系统手势触发:
from PySide6.QtWidgets import QMainWindow from PySide6.QtCore import Qt class FullScreenApp(QMainWindow): def __init__(self): super().__init__() self.showFullScreen() # 设置窗口始终置顶,优先获取输入 self.setWindowFlags(self.windowFlags() | Qt.WindowStaysOnTopHint) # 针对X11环境(Ubuntu20.04默认),可以用Xlib进一步屏蔽系统手势 # 需要先安装依赖:sudo apt install python3-xlib from Xlib.display import Display from Xlib import X display = Display() root = display.screen().root # 捕获所有指针事件,阻止系统手势触发 root.grab_pointer( True, X.ButtonPressMask | X.ButtonReleaseMask | X.PointerMotionMask, X.GrabModeAsync, X.GrabModeAsync, 0, 0, X.CurrentTime ) display.sync()
注意:如果你的系统用的是Wayland显示服务器(Ubuntu20.04默认是X11,一般不会有这个情况),Xlib的方法可能无效,需要用Wayland对应的窗口管理API。
备注:内容来源于stack exchange,提问作者shonb




