我下载了一个 .sh 程序(在本例中是一个游戏),然后使用“sh name.sh”进行安装(或者可能是“bash name.sh”。我记不太清楚,但我猜在这种情况下它并不重要:P)。
一切都按计划进行。.sh 在 /usr/local/games/ 中创建了一个文件夹,然后我就可以从 .bin 中运行游戏了(我在桌面上创建了一个“应用程序链接”以便更快地运行游戏)。
到目前为止一切顺利,但现在我想删除/卸载游戏,但我不知道如何操作(我猜在这种特殊情况下 apt-get 或 dpkg 都不起作用。如果我错了,请纠正我)。
所以我的问题是,我该如何删除/卸载这个游戏?
非常感谢您的回复。
编辑
我尝试打开并阅读 .sh(实际上,这是我做的第一件事),但是当我打开它时,编辑器(在本例中为 Kate)向我发出以下警告消息:
The file /home/user/Games/name/name.sh was opened with UTF-8 encoding but contained invalid characters. It is set to read-only mode, as saving might destroy its content. Either reopen the file with the correct encoding chosen or enable the read-write mode again in the menu to be able to edit it.
当我尝试做任何事情时,例如查找或选择某些东西,我的计算机就会变得麻木和“超载”,它不让我做任何事情(几乎像冻结一样),而且由于代码很大,我无法逐行阅读直到找到我要查找的部分。
安装时创建的文件夹(在 /usr/local/games/ 中)包含以下内容:
name.bin.x86_64
name.png
README.linux
xdg-utils (folder)
xdg-desktop-menu
name.dat
lib64 (folder)
libfreeimage.so.3
libminizip.so.1
libSDL2-2.0.so.0
xdg-open
我猜测 xdg-desktop-menu 在这种情况下用于卸载游戏,因为当我在终端中输入:“xdg-desktop-menu --help”时,其中一行显示:
xdg-desktop-menu uninstall [--noupdate] [--mode mode] directory-file(s)
desktop-file(s)
但我不确定如何使用它。有人用过类似的东西吗?或者根据上面的行,在这种情况下我应该输入什么?
答案1
我如何卸载?
.sh 文件是安装程序脚本。它执行各种操作来安装游戏。(例如将文件复制到 /usr/local/games/)
使用删除脚本删除(推荐)
大多数附带 .sh 安装程序的应用程序还具有.sh 删除脚本。有时您可以在应用程序的 README 中找到删除脚本的位置。否则,您必须在安装目录中自行搜索它(/usr/local/games/<NAME_OF_GAME>
)。它名为 uninstall.sh 或类似名称。
如果找到该脚本,则可以通过./<NAME_OF_SCRIPT>.sh
在终端中输入来执行它。
手动移除
如果应用程序没有卸载程序脚本,您可以通过删除整个目录/usr/local/games/<NAME_OF_GAME>
并删除启动器来手动删除应用程序。但是,应用程序可能在其他目录中也有一些文件。
您可以使用命令Terdon 的回答查找安装程序脚本更改的所有目录。
我可以使用 xdg-desktop-menu 卸载吗?
不是。从手册页 ( man xdg-desktop-menu
)
xdg-desktop-menu 程序可用于将新菜单项安装到桌面的应用程序菜单中。
因此它仅用于安装/删除菜单项,而不是完整的程序本身
答案2
您无法自动执行此操作,您必须阅读脚本以查看它创建的目录和文件。您可以使用以下方法更轻松地执行此操作:
grep -P '("|/)\S+/\S+' script.sh
上述命令应打印安装脚本中找到的所有路径(假设它们不包含空格)。然后您可以查看结果并手动删除它们。