我已经安装了 phpstorm,但安装几分钟后它就自行卸载了。但在 中/usr/share/applications
,这些文件仍然存在:
JB-controlpanel.desktop unity-sound-panel.desktop
JB-java.desktop unity-tweak-tool.desktop
JB-javaws.desktop unity-universal-access-panel.desktop
JB-jconsole.desktop unity-user-accounts-panel.desktop
JB-jvisualvm.desktop unity-wacom-panel.desktop
JB-mission-control.desktop unitywebappsqmllauncher.desktop
JB-policytool.desktop update-accounts.desktop
它们是什么?我该如何删除它们?我应该在再次安装 php storm 之前删除它们吗?
答案1
您不应该手动删除这些文件。首先检查包含这些文件的软件包。要以干净的方式执行此操作,请使用以下方法安装apt-file
和测试apt-file search
和 dpkg -S
。
sudo apt-get install apt-file
apt-file update
现在创建一个包含桌面文件名称的简单文件,
在我的示例中,其名称为foo
,例如:
JB-controlpanel.desktop
JB-java.desktop
JB-javaws.desktop
JB-jconsole.desktop
JB-jvisualvm.desktop
JB-mission-control.desktop
JB-policytool.desktop
unity-sound-panel.desktop
unity-tweak-tool.desktop
unity-universal-access-panel.desktop
unity-user-accounts-panel.desktop
unity-wacom-panel.desktop
unitywebappsqmllauncher.desktop
update-accounts.desktop
现在运行awk
命令来显示每个文件的包apt-file search
:
awk '{printf "\n### %s ###\n",$1; system("apt-file search --regex /usr/share/applications/"$1"$")}' foo
我的系统上的示例输出:
$ awk '{printf "\n### %s ###\n",$1; system("apt-file search --regex /usr/share/applications/"$1"$")}' foo
### JB-controlpanel.desktop ###
### JB-java.desktop ###
### JB-javaws.desktop ###
### JB-jconsole.desktop ###
### JB-jvisualvm.desktop ###
### JB-mission-control.desktop ###
### JB-policytool.desktop ###
### unity-sound-panel.desktop ###
unity-control-center: /usr/share/applications/unity-sound-panel.desktop
### unity-tweak-tool.desktop ###
unity-tweak-tool: /usr/share/applications/unity-tweak-tool.desktop
### unity-universal-access-panel.desktop ###
unity-control-center: /usr/share/applications/unity-universal-access-panel.desktop
### unity-user-accounts-panel.desktop ###
unity-control-center: /usr/share/applications/unity-user-accounts-panel.desktop
### unity-wacom-panel.desktop ###
unity-control-center: /usr/share/applications/unity-wacom-panel.desktop
### unitywebappsqmllauncher.desktop ###
unity-webapps-qml: /usr/share/applications/unitywebappsqmllauncher.desktop
### update-accounts.desktop ###
unity-control-center-signon: /usr/share/applications/update-accounts.desktop
awk
第二次测试dpkg -S
$ awk '{printf "\n### %s ###\n",$1; system("dpkg -S "$1)}' foo
### JB-controlpanel.desktop ###
dpkg-query: no path found matching pattern *JB-controlpanel.desktop*
### JB-java.desktop ###
dpkg-query: no path found matching pattern *JB-java.desktop*
### JB-javaws.desktop ###
dpkg-query: no path found matching pattern *JB-javaws.desktop*
### JB-jconsole.desktop ###
dpkg-query: no path found matching pattern *JB-jconsole.desktop*
### JB-jvisualvm.desktop ###
dpkg-query: no path found matching pattern *JB-jvisualvm.desktop*
### JB-mission-control.desktop ###
dpkg-query: no path found matching pattern *JB-mission-control.desktop*
### JB-policytool.desktop ###
dpkg-query: no path found matching pattern *JB-policytool.desktop*
### unity-sound-panel.desktop ###
app-install-data: /usr/share/app-install/desktop/unity-control-center:unity-sound-panel.desktop
### unity-tweak-tool.desktop ###
app-install-data: /usr/share/app-install/desktop/unity-tweak-tool:unity-tweak-tool.desktop
### unity-universal-access-panel.desktop ###
app-install-data: /usr/share/app-install/desktop/unity-control-center:unity-universal-access-panel.desktop
### unity-user-accounts-panel.desktop ###
app-install-data: /usr/share/app-install/desktop/unity-control-center:unity-user-accounts-panel.desktop
### unity-wacom-panel.desktop ###
app-install-data: /usr/share/app-install/desktop/unity-control-center:unity-wacom-panel.desktop
### unitywebappsqmllauncher.desktop ###
app-install-data: /usr/share/app-install/desktop/unity-webapps-qml:unitywebappsqmllauncher.desktop
### update-accounts.desktop ###
app-install-data: /usr/share/app-install/desktop/unity-control-center-signon:update-accounts.desktop
在第一列中,您可以看到包的名称,例如unity-tweak-tool
,和你不应该手动删除第二列中的文件。如果确实有必要,您应该删除软件包。但是,您可以JB-controlpanel.desktop
使用以下命令删除没有软件包的文件(例如上面的输出中):
sudo rm JB-controlpanel.desktop
等等。
答案2
这是删除和清除之间的区别
apt-get remove foo 离开系统配置文件。
apt-get purge foo 也会删除系统文件
看http://manpages.ubuntu.com/manpages/wily/en/man8/apt-get.8.html
remove remove 与 install 相同,只是删除了软件包而不是安装了软件包。请注意,删除软件包会将其配置文件保留在系统上。如果在软件包名称后附加加号(中间没有空格),则将安装而不是删除所标识的软件包。
并清除
purge purge 与 remove 相同,只是删除和清除了软件包(所有配置文件也被删除)。
这两个选项都会将配置文件保留在 $HOME 中,但是,您必须手动查找并删除 $HOME 中的文件
答案3
这些是什么?
JB-controlpanel.desktop
JB-java.desktop
JB-javaws.desktop
JB-jconsole.desktop
JB-jvisualvm.desktop
JB-mission-control.desktop
JB-policytool.desktop
这些是用于管理 Phpstorm 运行的 Java 虚拟机的 Oracle 应用程序的 Unity Launchers。其他的,我猜是与 Unity 相关的。
我该如何删除它们?
就像普通文件一样
我应该在再次安装 php storm 之前删除它们吗?
除非你知道自己在做什么,否则我不会这么做,除了方便之外,启动器有时还包含启动应用程序所需的信息。例如 - 在 Ubuntu 上 - Phpstorm 应该在调用时传递一些特殊选项来启动。
这是我的/usr/share/applications/phpstorm.desktop
[Desktop Entry]
Name=Phpstorm_8.02
Exec=/bin/bash -l -c phpstorm
Terminal=false
Icon=/opt/PhpStorm-139.496/bin/webide.png
Type=Application
Categories=Developer;
Version=8.0
这些-l -c
开关可避免 Phpstorm 8 中的一些不良行为 - 例如,grunt 任务运行器功能将无法正常工作