从VSCode启动的Windows在Ubuntu扩展坞中与ALT + TAB一起显示为VSCode

问题描述

当我从VSCode的终端启动图形应用程序时,新启动的应用程序在Ubuntu的坞站中显示为新的VSCode窗口,并且使用 Alt + TAB 切换窗口时/应用程序。例如,当我从VSCode启动evince时,在扩展坞中没有看到evince图标,但是GNOME将evince窗口和VSCode窗口在扩展坞中的VSCode应用程序下分组。)

使用哪种机制将由单独的应用程序创建的窗口附加到VSCode窗口?有没有办法禁用它(即,在启动GUI应用程序时让VSCode终端表现得像普通终端一样)?

解决方法

通过snap软件包安装VSCode时会发生这种情况。实际上,snap不仅是包管理器,而且是一种容器技术,因此VSCode进程的snap版本在容器中运行,子进程也被容器化。

解决方案:通过另一个系统安装VSCode。对于Ubuntu,VSCode's download page上有一个.deb软件包,没有问题。

,

对我而言,这不会发生,但我猜可能是在设置或覆盖WM_CLASS:https://askubuntu.com/a/1060233

在X11下,Windows具有XWindowAttributes结构和XClassHint结构属性,应用程序可从中获取有关Windows的信息。具体来说,最后一个负责WM_CLASS属性,即两个逗号分隔的字符串,可以通过xprop命令轻松看到。
...
例如,对于诸如将应用程序的同一图标下的窗口分组的停靠区之类的东西,这也可能是有用的属性。

遗憾的是,我不知道该问题的任何解决方案, 至少没有比以其他方式运行程序更容易或更好的方法...

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...