7

I downloaded a .sh program (in this case is a game) and then I installed using "sh name.sh" (or maybe it was "bash name.sh". I don't remember quite well, but I guess it has no importance in this case :P).

Everything worked as planned. The .sh created a folder in /usr/local/games/ and from there I can run the game from a .bin (I created a "link to application" in my Desktop to run it faster).

So far so good, but now I want to remove/uninstall the game but I don't know how (I guess that neither apt-get or dpkg work in this particular case. Correct me if I'm wrong).

So my question is, how can I remove/unistall this game?

Tyvm in advance for any reply.

EDIT

I tried to open and read the .sh (actually, it was the first thing I did), but when I open it, the editor (kate in this case) warns me with the following message:

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.

And when I try to do anything, such as find or select something, my computer gets numb and 'overloaded' and it doesn't let me do anything (almost as a freeze), and since the code is big I can't just read line by line until I find the part(s) I'm looking for.

The folder that was created when installed (in /usr/local/games/) has the following:

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

I guess that xdg-desktop-menu is used in this case to uninstall the game since when I type in the terminal: "xdg-desktop-menu --help", one of the lines says:

xdg-desktop-menu uninstall [--noupdate] [--mode mode] directory-file(s)
desktop-file(s)

But I'm not sure how to use it. Have someone used something like this? or based in the line above, in this case, what should I type?

5
  • It might have created any script to uninstall the program in the created directory. Search it and run it.
    – g_p
    Commented Mar 9, 2014 at 15:32
  • 2
    The best would be to provide a link to the script so we can read it and see if there's an uninstallation line inside it;
    – MrVaykadji
    Commented Mar 9, 2014 at 15:33
  • You need to open the .sh file (script) and review all of its actions and reverse them. - Create file/folder > Delete it - Installs a package > remove the package .....etc
    – Ahmadgeo
    Commented Mar 9, 2014 at 15:42
  • Is there any helpful information in README.linux ? Commented Mar 9, 2014 at 16:16
  • @Galgalesh Nope, the only useful info is that it says where my saved games and configurations are located, but when I go there, it's just that, nothing about uninstalling.
    – Istall
    Commented Mar 9, 2014 at 17:05

2 Answers 2

8

How do I uninstall?

The .sh file is an installer script. It does various actions to install the game. (like copying files to the /usr/local/games/)

Remove using an remove script (recommended)

Most applications that ship with a .sh installer also have a .sh remove script. Sometimes you can find the location of the remove script in the README of the application. Otherwise, you will have to search it yourself in the installation directory (/usr/local/games/<NAME_OF_GAME>). It's named uninstall.sh or something similar.

If you find the script, you can excecute it by typing ./<NAME_OF_SCRIPT>.sh in the terminal.

Remove manually

If the application does not have an uninstaller script, you can remove the application manually by removing the complete directory /usr/local/games/<NAME_OF_GAME> and removing the launcher. However, it could be that the application also has some files in other directories.

You can use the command in Terdon's answer to find all the directories that the installer script changes.

Can i uninstall using xdg-desktop-menu?

No. From the man-pages (man xdg-desktop-menu)

The xdg-desktop-menu program can be used to install new menu entries to the desktop's application menu.

So it is only used to install/remove the menu entry, not the complete program itself

4
  • When I use Terdon's answer, it only displays the message: "Binary file <name>.sh matches", and nothing more. It shows me no paths at all.
    – Istall
    Commented Mar 9, 2014 at 17:07
  • I guess I could just delete the created folder as well as delete all folders related I know so far, but in the case I do that and some folders still remain after that, is there a way to remove them afterward?
    – Istall
    Commented Mar 9, 2014 at 17:35
  • If you find some other directories afterwards, you can still remove them. If you do not have the permission to delete the directory you can start nautilus(files) as root with "sudo nautilus" Commented Mar 10, 2014 at 15:01
  • hi guys, could you please help to remove Berry Conda: github.com/jjhelmus/berryconda
    – Franva
    Commented Jan 27, 2020 at 0:25
3

You can't do this automatically, you will have to read the script to see what directories and files it created. You could make that easier with something like:

grep -P '("|/)\S+/\S+' script.sh

The command above should print all paths found in the install script, assuming they don't contain spaces. You can then have a look at the result and delete them by hand.

7
  • This doesn't work on scripts that contain binary archives (like most .sh installers do) Commented Mar 10, 2014 at 15:12
  • @Galgalesh no, of course not but it is the best I can do without access to the script itself. And most .sh installers do not contain binary archives, very few do. In most cases, you will have a configure script and that has no binary data.
    – terdon
    Commented Mar 10, 2014 at 15:16
  • Is it not possible to first cut the binary tail before grepping? Isn't there a standard character sequence in front of the binary part? Just out of curiosity, what do you mean with the configure script? Are you talking about the configure script used during make install? Commented Mar 10, 2014 at 15:25
  • @Galgalesh don't know about the binary part and yes, I was thinking of the configure script that sets up a system for a make install call, that will normally have all target paths listed as plain text.
    – terdon
    Commented Mar 10, 2014 at 15:29
  • When I read ".sh installer/.sh program" think about a single-file .sh installer, which needs the binary part to store its data... Commented Mar 10, 2014 at 15:38

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .