我最近通过snap在 Kubuntu 20.04 上安装了 Skype ,我发现它将自己添加到与系统上每个文件类型关联的应用程序列表的末尾!当然,这意味着对于系统识别的许多当前没有与其关联的应用程序或未知文件类型的文件类型,Skype 成为默认应用程序。
我发现撤消此操作的唯一实用方法(实际含义不是手动检查每种文件类型)是完全卸载 Skype。
有没有办法阻止应用程序执行此操作?或者至少,有没有一种简单的方法可以在事后消除这种情况?
此示例特定于snap上的 Skype ,但我更喜欢通用答案(即,适用于snap上或一般情况下的任何应用程序)(如果存在)。我见过的与文件类型关联的类似问题相关的唯一答案是特定于应用程序的,因此在这种情况下没有帮助。
系统:
我在带有 ELAN 触摸屏和 DELL 750-AAHC 有源手写笔的笔记本电脑上使用 Kubuntu 16.04(xenial)。触控笔上的一个按钮充当鼠标中键,而我希望它是一个右键。
我可以通过这样做来实现这一目标
$ xinput set-button-map "ELAN Touchscreen Pen" 1 3 2
Run Code Online (Sandbox Code Playgroud)
(即,将必须对应右侧按钮的按钮 3 的功能映射到物理按钮 2)。
这符合我的要求,但这种变化不是永久性的。
我添加了命令~/.xsessionrc
(根据这篇文章的答案),所以当我重新启动时它会自动运行,但是“随机”映射的按钮会自行恢复为默认值:它按预期工作了一段时间,突然我发现它没有,所以我明白了
$ xinput get-button-map "ELAN Touchscreen Pen"
1 2 3 4 5
Run Code Online (Sandbox Code Playgroud)
我必须手动重新映射它。
我尝试了一些“可疑”的事情,看看可能是什么原因导致恢复,但我无法弄清楚。这不是由
重要更新:
我发现这个问题不是触控笔特有的:我之前出于某种原因禁用了屏幕的手指触摸功能(“ELAN 触摸屏”):
$ xinput disable "ELAN Touchscreen"
Run Code Online (Sandbox Code Playgroud)
我刚刚发现它自己回来了(手写笔右键单击又恢复了)。因此,由于这个未知原因,似乎所有 xinput 更改都恢复为默认值。
更新 2
我发现了一些可疑条目 /var/log/syslog
再次发生这种情况时,。时间戳是在我有一段时间没有真正使用笔记本电脑的时候,所以节能功能可能被激活(我在 9 分钟时“调暗屏幕”,在 10 分钟时“关闭”;我将尝试节能相应地保存和更新)。
下面的模式实际上重复了很多次,每个块之间只有几秒钟的差异。
usb 1-8: USB disconnect, device number 18
usb 1-8: new full-speed …
Run Code Online (Sandbox Code Playgroud) 我看到了一些有关 linux-headers 包的问题,但找不到任何内容来解决我的具体问题。
我使用的是 Kubuntu 16.04,并且收到以下错误(来自 VirtualBox):
请安装与当前内核匹配的 Linux 内核“头”文件,以便为系统添加新的硬件支持。包含标头的分发包可能是:
linux-headers-generic linux-headers-4.13.0-43-generic
我很惊讶地发现它linux-headers-generic
没有安装,尽管我不确定它是否应该默认存在。
无论如何,虽然内核是 4.13.0-43-generic,但确实没有安装相应的标头:
$ uname -r
4.13.0-43-generic
$ aptitude search linux-headers | grep ^i
id linux-headers-4.13.0-32 - Header files related to Linux kernel versi
id linux-headers-4.13.0-32-generic - Linux kernel headers for version 4.13.0 on
i A linux-headers-4.13.0-37 - Header files related to Linux kernel versi
i A linux-headers-4.13.0-37-generic - Linux kernel headers for version 4.13.0 on
i A linux-headers-4.13.0-38 - Header files related to Linux kernel …
Run Code Online (Sandbox Code Playgroud)