Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to install Intellij IDEA on Ubuntu?

I'm new to Ubuntu and Linux in general. I want to code in Java on my computer, but I'm having problems installing IntelliJ IDEA on Ubuntu. I have downloaded and extracted the file and for some reason renamed the folder to idea. I tried moving the folder to /usr/share/applications or something but I didn't have permission. I used sudo -i in terminal to gain permission but didn't manage to get out of root folder. Can anyone help me with a step by step way to move the folder, create a shortcut in the search bar or whatever it's called and install it properly?

like image 275
Emil Øgård Avatar asked May 08 '15 18:05

Emil Øgård


1 Answers

Note: This answer covers the installation of IntelliJ IDEA. For an extended script, that covers more JetBrains IDEs, as well as help for font rendering issues, please see this link provided by brendan.
Furthermore, a manual Desktop Entry creation is optional, as newer versions of IntelliJ offer to create it on first startup.


I have my intellij int /opt folder. So what I do is:

  • Download Intellij
  • Extract intellij to /opt-folder: sudo tar -xvf <intellij.tar> -C /opt/ (the -C option extracts the tar to the folder /opt/)
  • Create a Desktop Entry File called idea.desktop (see example file below) and store it anywhere you want (let's assume in your home directory)
  • Move the idea.desktop from your home directory to /usr/share/applications: sudo mv ~/idea.desktop /usr/share/applications/

Now (in a lot) Ubuntu versions you can start the application after the GUI is restarted. If you don't know how to do that, you can restart your PC..

idea.desktop (this is for community edition version 14.1.2, you have to change the paths in Exec= and Icon= lines if the path is different for you):

[Desktop Entry]                                                                  Encoding=UTF-8 Name=IntelliJ IDEA Comment=IntelliJ IDEA Exec=/opt/ideaIC-14.1.2/bin/idea.sh Icon=/opt/ideaIC-14.1.2/bin/idea.png Terminal=false StartupNotify=true Type=Application 

Edit
I also found a shell script that does this for you, here. The given script in the link installs Oracle Java 7 for you and gives you the choice between Community and Ultimate Edition. It then automatically downloads the newest version for you, extracts it and creates a desktop entry.
I have modified the scripts to fulfill my needs. It does not install java 8 and it does not ask you for the version you want to install (but the version is kept in a variable to easily change that). You can also update Intellij with it. But then you have to (so far) manually remove the old folder! This is what i got:

Edit2
Here is the new version of the script. As mentioned in the comments, breandan has updated the script to be more stable (the jetbrains website changed its behavior). Thanks for the update, breandan.

#!/bin/sh  echo "Installing IntelliJ IDEA..."  # We need root to install [ $(id -u) != "0" ] && exec sudo "$0" "$@"  # Attempt to install a JDK # apt-get install openjdk-8-jdk # add-apt-repository ppa:webupd8team/java && apt-get update && apt-get install oracle-java8-installer  # Prompt for edition #while true; do #    read -p "Enter 'U' for Ultimate or 'C' for Community: " ed  #    case $ed in #        [Uu]* ) ed=U; break;; #        [Cc]* ) ed=C; break;; #    esac #done ed=C  # Fetch the most recent version VERSION=$(wget "https://www.jetbrains.com/intellij-repository/releases" -qO- | grep -P -o -m 1 "(?<=https://www.jetbrains.com/intellij-repository/releases/com/jetbrains/intellij/idea/BUILD/)[^/]+(?=/)")  # Prepend base URL for download URL="https://download.jetbrains.com/idea/ideaI$ed-$VERSION.tar.gz"  echo $URL  # Truncate filename FILE=$(basename ${URL})  # Set download directory DEST=~/Downloads/$FILE  echo "Downloading idea-I$ed-$VERSION to $DEST..."  # Download binary wget -cO ${DEST} ${URL} --read-timeout=5 --tries=0  echo "Download complete!"  # Set directory name DIR="/opt/idea-I$ed-$VERSION"  echo "Installing to $DIR"  # Untar file if mkdir ${DIR}; then     tar -xzf ${DEST} -C ${DIR} --strip-components=1 fi  # Grab executable folder BIN="$DIR/bin"  # Add permissions to install directory chmod -R +rwx ${DIR}  # Set desktop shortcut path DESK=/usr/share/applications/IDEA.desktop  # Add desktop shortcut echo -e "[Desktop Entry]\nEncoding=UTF-8\nName=IntelliJ IDEA\nComment=IntelliJ IDEA\nExec=${BIN}/idea.sh\nIcon=${BIN}/idea.png\nTerminal=false\nStartupNotify=true\nType=Application" -e > ${DESK}  # Create symlink entry ln -s ${BIN}/idea.sh /usr/local/bin/idea  echo "Done."   

Old Version

#!/bin/sh                                                                                                                                     echo "Installing IntelliJ IDEA..."  # We need root to install [ $(id -u) != "0" ] && exec sudo "$0" "$@"  # define version (ultimate. change to 'C' for Community) ed='U'  # Fetch the most recent community edition URL URL=$(wget "https://www.jetbrains.com/idea/download/download_thanks.jsp?edition=I${ed}&os=linux" -qO- | grep -o -m 1 "https://download.jetbrains.com/idea/.*gz")  echo "URL: ${URL}" echo "basename(url): $(basename ${URL})"  # Truncate filename FILE=$(basename ${URL})  echo "File: ${FILE}"  # Download binary wget -cO /tmp/${FILE} ${URL} --read-timeout=5 --tries=0  # Set directory name DIR="${FILE%\.tar\.gz}"  # Untar file if mkdir /opt/${DIR}; then     tar -xvzf /tmp/${FILE} -C /opt/${DIR} --strip-components=1 fi  # Grab executable folder BIN="/opt/$DIR/bin"  # Add permissions to install directory chmod 755 ${BIN}/idea.sh  # Set desktop shortcut path DESK=/usr/share/applications/IDEA.desktop  # Add desktop shortcut                      echo -e "[Desktop Entry]\nEncoding=UTF-8\nName=IntelliJ IDEA\nComment=IntelliJ IDEA\nExec=${BIN}/idea.sh\nIcon=${BIN}/idea.png\nTerminal=false\nStartupNotify=true\nType=Application" > ${DESK}  echo "Done."     
like image 127
MalaKa Avatar answered Sep 23 '22 10:09

MalaKa