Page tree
Skip to end of metadata
Go to start of metadata

Manual software installation

There is a convention for manual installed software to put it in /opt . (See Linux FHS)

The following steps are recommended to maintain such a setup:

  1. Obtain a .zip of the software distribution
  2. Unzip it to /opt/<publisher>/<app name>-<version>    (The publisher directory is optional)
  3. Setup symbolic links for other apps to reference (so they don't break when you upgrade)


$ curl -sL -o app.tar.gz
$ tar -xvzf app.tar.gz
# mv app-v2/ /opt/.
# rm /opt/app-v2
# ln -s /opt/app-v2/ /opt/app
# ln -s /opt/app/bin/ /usr/local/bin/app

Environment Variables

To set environment variables for terminals, use export VAR_NAME=value in ~/.bashrc.

To set environment variables for GUI desktop launchers, use export VAR_NAME=value in ~/.profile.

To temporarily set environment variables, run export VAR_NAME=value  just before you run your program.

Desktop entries has defined a file format standard for creating shortcut launchers that work in both GNOME and KDE. See the full spec here. However, a good overview can be found on the Arch Wiki page.

A sample intellij-idea-ce.desktop  in /usr/share/applications :

[Desktop Entry]
Name=IntelliJ IDEA Community
Comment=Intelligent Java IDE
Exec="/opt/intellij-idea-ce/bin/" %f
Comment=Intellij Idea IDE (community version) with Intellij JDK

Scroll in a Terminal / Console

SHIFT + Page Up and SHIFT + Page Down are the correct keys to operate on the linux (virtual) console

Passwordless sudo

Sometimes it's easier if embedded systems don't ask for a password everytime you need to use sudo commands. To achieve this, one option follows.

# visudo

Adjust the following section to add "NOPASSWD: " before the "ALL".

# Allow members of group sudo to execute any command

  • No labels