我安装了 ubuntu 16.04 unity 最新更新,我拥有市场上最好的华硕游戏笔记本电脑之一,安装了 VLC 但我从未使用过它。
在过去的几个月里,我无法关闭我的电脑,每次我尝试这样做时,风扇就开始快速旋转并且它挂起,所以我只能按下关机按钮,该问题只出现在关机时,而不是重新启动时,我甚至懒得尝试解决这个问题。
今天,当我工作时,我注意到风扇在做着它们关机时通常做的事情。我注意到top
在我的用户名下运行了 2 个 vlc 实例,每个实例消耗了大约 122% 的 CPU,尽管我再次不使用 vlc,也没有使用任何依赖 vlc 的程序。
我尝试了sudo kill <pid>
,sudo killall <pid>
但sudo killall vlc
它们仍然没有被杀死,这以前从未发生在我身上。我从 Ubuntu 资源监视器中杀死了它们,它们被杀死了,关机问题得到了解决,一切都恢复正常。
以前有人遇到过这种事吗?
答案1
我在使用 VLC 播放器时也遇到了类似的问题。但不同之处在于我经常使用它。以下是在 Ubuntu 16.04 上使用 Unity 时解决此问题的一种可能(未完全验证)的解决方法。
根据这个答案我们可以测试是否有正在运行的应用程序桌面文件,名为vlc
或 so。如果没有,我们可以尝试终止所有 VLC 进程。为此,创建一个名为 的可执行文件~/bin/vlc-killer.sh
,并添加以下几行作为其内容(这里是参考关于导出的环境变量):
#!/bin/bash
# Check whether the user is logged-in: if not then exit
if [[ -z "$(pgrep gnome-session -n -U $UID)" ]]; then exit; fi
# Export the current desktop session environment variables
export $(xargs -0 -a "/proc/$(pgrep gnome-session -n -U $UID)/environ")
# Test whether there is any VLC RunningApplicationsDesktopFile
/usr/bin/qdbus org.ayatana.bamf /org/ayatana/bamf/matcher \
org.ayatana.bamf.matcher.RunningApplicationsDesktopFiles | grep -q 'vlc'
# If not killall VLC processes
if [[ $? -ne 0 ]]; then /usr/bin/killall vlc; fi
然后打开用户的 Crontab 进行编辑(crontab -e
)并在底部应用以下作业(每分钟执行我们的脚本):
* * * * * $HOME/bin/vlc-killer.sh >/dev/null 2>&1