Ist*_*all 6 uninstall bash scripts games .sh
我下载了一个 .sh 程序(在本例中是一个游戏),然后使用“sh name.sh”安装(或者可能是“bash name.sh”。我不太记得了,但我猜它有在这种情况下并不重要:P)。
一切都按计划进行。.sh 在 /usr/local/games/ 中创建了一个文件夹,从那里我可以从 .bin 运行游戏(我在桌面上创建了一个“应用程序链接”以更快地运行它)。
到目前为止一切顺利,但现在我想删除/卸载游戏,但我不知道如何操作(我猜 apt-get 或 dpkg 在这种特殊情况下都不起作用。如果我错了,请纠正我)。
所以我的问题是,如何删除/卸载这个游戏?
Tyvm 提前回复。
我尝试打开并阅读 .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
Run Code Online (Sandbox Code Playgroud)
我猜想在这种情况下使用 xdg-desktop-menu 来卸载游戏,因为当我在终端中输入:“xdg-desktop-menu --help”时,其中一行显示:
xdg-desktop-menu uninstall [--noupdate] [--mode mode] directory-file(s)
desktop-file(s)
Run Code Online (Sandbox Code Playgroud)
但我不确定如何使用它。有人用过这样的东西吗?或者基于上面的行,在这种情况下,我应该输入什么?
.sh 文件是安装程序脚本。它执行各种操作来安装游戏。(比如将文件复制到/usr/local/games/)
大多数附带 .sh 安装程序的应用程序也有.sh 删除脚本。有时您可以在应用程序的自述文件中找到删除脚本的位置。否则,您必须自己在安装目录(/usr/local/games/<NAME_OF_GAME>
)中搜索它。它被命名为 uninstall.sh 或类似的名称。
如果找到该脚本,则可以通过./<NAME_OF_SCRIPT>.sh
在终端中键入来执行它。
如果应用程序没有卸载程序脚本,您可以通过删除完整目录/usr/local/games/<NAME_OF_GAME>
并删除启动程序来手动删除应用程序。但是,该应用程序可能在其他目录中也有一些文件。
您可以使用Terdon 的答案中的命令来查找安装程序脚本更改的所有目录。
否。来自手册页 ( man xdg-desktop-menu
)
xdg-desktop-menu 程序可用于将新菜单项安装到桌面的应用程序菜单。
因此它仅用于安装/删除菜单项,而不是完整的程序本身
您无法自动执行此操作,您必须阅读脚本才能查看它创建了哪些目录和文件。你可以用类似的东西让这变得更容易:
grep -P '("|/)\S+/\S+' script.sh
Run Code Online (Sandbox Code Playgroud)
上面的命令应该打印安装脚本中找到的所有路径,假设它们不包含空格。然后您可以查看结果并手动删除它们。