DEV Community

Angelo Rafael
Angelo Rafael

Posted on • Edited on

2

New Dev into Ubuntu

A alguns meses decidi migrar e tornar-me um Dev em Linux. Analisei várias opções e a que me pareceu mais evidente para assumir como distro oficial foi a Ubuntu.

Mas e quanto aos programas que eu utilizava? Tem versões para Ubuntu, ou tem alternativas equivalentes? Pensando nisso eu montei o passo-a-passo dos principais programas que utilizo como usuário Linux e como instalá-los, praticamente um cheatsheet.

Espero que seja útil para todos que, como eu, estão em processo de migração.


A few months ago I decided to migrate and become a Linux Dev. I analyzed several options and the one that seemed more evident to assume as an official distro was Ubuntu.

But what about the programs that I use? Do they have versions for Ubuntu, or do they have equivalent alternatives? With that in mind, I created the step-by-step the main programs that I use as a Linux user and how to install them, like a cheatsheet.

I hope it will be useful for everyone who, like me, is in the process of migration.


  • Google Chrome

    wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
    sudo apt install ./google-chrome-stable_current_amd64.deb
    
  • Curl

    sudo apt install curl
    
  • Imwheel

    • Programa que altera a configuração das linhas saltadas ao rodar o scroll do mouse.
    sudo apt-get install imwheel
    
    # Abra o arquivo
    gedit ~/.imwheelrc
    
    # Cole as seguintes linhas e salve
    ".*"
    None,      Up,   Button4, 3
    None,      Down, Button5, 3
    Control_L, Up,   Control_L|Button4
    Control_L, Down, Control_L|Button5
    Shift_L,   Up,   Shift_L|Button4
    Shift_L,   Down, Shift_L|Button5
    
    # Para executar, no terminal
    $ imwheel
    
    # Para encerrar
    $ kill imwheel
    
  • Firacode

    • Fonte que utilizo para desenvolvimento.
    # !/usr/bin/env bash
    
    fonts_dir="${HOME}/.local/share/fonts"
    if [ ! -d "${fonts_dir}" ]; then
        echo "mkdir -p $fonts_dir"
        mkdir -p "${fonts_dir}"
    else
        echo "Found fonts dir $fonts_dir"
    fi
    
    version=5.2
    zip=Fira_Code_v${version}.zip
    curl --fail --location --show-error https://github.com/tonsky/FiraCode/releases/download/${version}/${zip} --output ${zip}
    unzip -o -q -d ${fonts_dir} ${zip}
    rm ${zip}
    
    echo "fc-cache -f"
    fc-cache -f
    
  • Git

    # Intalação do GIT
    sudo apt install git-all
    
    # ---
    # Gerando chave ssh / generate key ssh
    ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
    
    # exibindo ssh file
    ls -al ~/.ssh
    
    # copy ssh key created
    cat ~/.ssh/id_rsa.pub
    
  • zsh

    • Terminal
    sudo apt-get update
    
    sudo apt-get install zsh
    
    # oh-my-zsh
    # Via curl
    sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
    # ou / or
    # Via wget
    sh -c "$(wget https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
    
  • Gogh

    • Configuração de cores e temas dos terminal gnome
    # Instalação
    # Para instalar e utilizar o Gogh é muito simples. 
    # Primeiramente certifique-se de que possui as dependências, 
    # exemplo para sistemas baseados em APT:
    sudo apt install dconf-cli uuid-runtime wget
    
    # Após isso é só escolher um dos comandos abaixo, como wget ou curl:
    bash -c  "$(wget -qO- https://git.io/vQgMr)"
    
  • Snap

    • Gerenciador de instalação de pacotes.
    sudo apt update
    sudo apt install snapd
    
  • Free Download Manager

    # https://www.freedownloadmanager.org/pt/
    
    wget https://dn3.freedownloadmanager.org/6/latest/freedownloadmanager.deb
    sudo dpkg -i freedownloadmanager.deb
    sudo apt install -f
    
  • FreeFileSync

    • Programa que sincroniza dois diretórios.
    wget https://freefilesync.org/download/FreeFileSync_11.14_Linux.tar.gz | bash
    
  • Docker

    • Container no Ubuntu
    # Fonte
    # https://docs.docker.com/engine/install/ubuntu/
    
    # Remover versões antigas
    sudo apt-get remove docker docker-engine docker.io containerd runc
    
    # Atualizar 
    sudo apt-get update
    
    # Instalar pacotes necessários
    sudo apt-get install \
        apt-transport-https \
        ca-certificates \
        curl \
        gnupg \
        lsb-release
    
    # Adicionar o repositório
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
    
    # Definir a versão estável do repositório
    echo \
      "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
      $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    
    # Instalar Docker Engine
    sudo apt-get update
    sudo apt-get install docker-ce docker-ce-cli containerd.io
    
    # Testando instalação
    sudo docker run hello-world
    
    # Rodando o docker sem precisar do "sudo" na frente / Docker with non-root user
    # https://docs.docker.com/engine/install/linux-postinstall/
    
    # 1. Create the docker group.
    sudo groupadd docker
    # 2. Add your user to the docker group.
    sudo usermod -aG docker $USER
    # 3. Log out and log back in so that your group membership is re-evaluated.
    #    If testing on a virtual machine, it may be necessary to restart the virtual machine for changes to take effect.
    #    On a desktop Linux environment such as X Windows, log out of your session completely and then log back in.
    #    On Linux, you can also run the following command to activate the changes to groups:
    newgrp docker
    # 4. Testing
    docker run hello-world
    
  • Docker-compose

    # https://docs.docker.com/compose/install/
    
    # Run this command to download the current stable release of Docker Compose:
    sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
    
    # Apply executable permissions to the binary:
    sudo chmod +x /usr/local/bin/docker-compose
    
    
  • espanso

    • Programa que automatiza comandos de texto.
    # snap
    sudo apt-get update
    sudo apt-get install xclip
    sudo snap install espanso --classic
    espanso start
    
    # debian
    wget https://github.com/federico-terzi/espanso/releases/latest/download/espanso-debian-amd64.deb
    sudo apt install ./espanso-debian-amd64.deb
    espanso start
    
  • Brave

    sudo apt install apt-transport-https curl
    
    sudo curl -fsSLo /usr/share/keyrings/brave-browser-archive-keyring.gpg https://brave-browser-apt-release.s3.brave.com/brave-browser-archive-keyring.gpg
    
    echo "deb [signed-by=/usr/share/keyrings/brave-browser-archive-keyring.gpg arch=amd64] https://brave-browser-apt-release.s3.brave.com/ stable main"|sudo tee /etc/apt/sources.list.d/brave-browser-release.list
    
    sudo apt update
    
    sudo apt install brave-browser
    
  • Notepad++

    sudo snap install notepadqq
    
  • gparted

    • Gerenciador de partições / partition manager
    sudo apt-get update
    sudo apt-get install gparted && sudo gparted
    
  • swap

    • Como alterar a memória swap / changing swap memory
    # Turn swap off
    # This moves stuff in swap to the main memory and might take several minutes
    sudo swapoff -a
    
    # Create an empty swapfile
    # Note that "1G" is basically just the unit and count is an integer.
    # Together, they define the size. In this case 8GB.
    sudo dd if=/dev/zero of=/swapfile bs=12G count=8
    # Set the correct permissions
    sudo chmod 0600 /swapfile
    
    # Set up a Linux swap area
    sudo mkswap /swapfile
    # Turn the swap on
    sudo swapon /swapfile
    
    grep Swap /proc/meminfo
    
    
  • Node

    # fonte: https://github.com/nodesource/distributions/blob/master/README.md
    
    # Using Ubuntu
    curl -fsSL https://deb.nodesource.com/setup_14.x | sudo -E bash -
    
    sudo apt-get install -y nodejs
    
    # npm 
    sudo apt-get install -y build-essential
    
  • NVM

    wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash
    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash
    
    export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
    [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
    
    nvm list-remote
    nvm install Fermium 
    nvm install [version]
    nvm list
    
    # para ativar a versão / to activate version
    nvm use [version]
    
  • Teams

    # https://www.edivaldobrito.com.br/como-instalar-o-microsoft-teams-no-linux-ubuntu-fedora-opensuse-e-derivados/
    
    uname -m
    wget "https://teams.microsoft.com/downloads/desktopurl?env=production&plat=linux&arch=x64&download=true&linuxArchiveType=deb" -O teams.deb | bash
    sudo dpkg -i teams.deb
    
    sudo apt-get install -f 
    # ou
    sudo apt install ./teams.deb
    
    # remover
    sudo apt-get remove teams*
    
  • Calibre

    • Gerenciador de ebooks
    curl -L https://calibre-ebook.com/dist/src | tar xvJ 
    cd calibre* && sudo python3 setup.py install
    
  • Wallch

    • Alterna os papéis de parede automaticamente
    # https://www.edivaldobrito.com.br/papel-de-parede-automatico-wallch/
    
    # Adiciona o repositório
    # sudo add-apt-repository ppa:wallch/wallch-daily
    
    # Atualiza a lista de repositório no Linux
    sudo apt-get update
    
    # Instala o Wallch
    sudo apt-get install wallch
    
  • Slim PDF

    # Versão do Sistema
    uname -m
    
    # Baixar o arquivo .deb
    wget https://cdn.investintech.com/download/InstallSlimPDFReader.deb -O slim.deb
    
    # Instalar o programa
    sudo dpkg -i slim.deb
    
    sudo apt-get install -f
    
    # Remover o programa
    sudo apt-get remove slim*
    
  • Open Connect (VPN)

    • Programa para VPN
    # Instalar pacotes do Open Connect
    sudo apt-get install openconnect network-manager-openconnect network-manager-openconnect-gnome
    
    # Estabelecer conexão com VPN
    sudo openconnect -u user --passwd-on-stdin vpn.example.com
    
  • Flameshot

    • Programa de printscreen
    sudo apt install flameshot
    
  • NoiseTorch

    • Supressor de ruídos para Linux
    # https://github.com/lawl/NoiseTorch
    
    wget https://github.com/lawl/NoiseTorch/releases/download/0.11.4/NoiseTorch_x64.tgz | bash
    
    # Unpack the tgz file, into your home directory.
    tar -C $HOME -xzf NoiseTorch_x64.tgz
    
    # This will unpack the application, icon and desktop entry to the correct place.
    # Depending on your desktop environment you may need to wait for it to rescan for applications, or tell it to do a refresh now.
    
    # With gnome this can be done with:
    gtk-update-icon-cache
    
    # You now have a noisetorch binary and desktop entry on your system.
    # Give it the required permissions with setcap:
    sudo setcap 'CAP_SYS_RESOURCE=+ep' ~/.local/bin/noisetorch
    
    # If noisetorch doesn't start after installation, you may also have to make sure 
    # that ~/.local/bin is in your PATH. On most distributions e.g. Ubuntu, 
    # this should be the case by default. If it's not, make sure to append
    if [ -d "$HOME/.local/bin" ] ; then
        PATH="$HOME/.local/bin:$PATH"
    fi
    
    # to your ~/.profile. If you do already have that, you may have to log in and 
    # out for it to actually apply if this is the first time you're using ~/.local/bin.
    
    # ----------------
    # Removendo Noise Torch
    rm ~/.local/bin/noisetorch
    rm ~/.local/share/applications/noisetorch.desktop
    rm ~/.local/share/icons/hicolor/256x256/apps/noisetorch.png
    
  • Java

    sudo apt install default-jdk
    
    java -version
    
  • VMWare

    • Programa de Máquinas Virtuais
    # Download do arquivo
    
    sudo apt update
    sudo apt-get install gcc build-essencial
    sudo chmod u+x arquivo.bundle
    sudo ./arquivo.bundle
    
  • Snap Store

    sudo snap install snap-store
    
  • Snap

    • Instalações de programas do snap em lote
    sudo snap install vlc discord insomnia mailspring notion-snap telegram-desktop beekeeper-studio colorpicker-app obs-studio teams-insiders
    
  • Snap Classic

    sudo snap install code --classic
    sudo snap install slack --classic
    sudo snap install go --classic
    sudo snap install flutter --classic
    
  • Discord

    sudo snap install discord
    
  • Insomnia

    sudo snap install insomnia
    
  • Mailspring

    sudo snap install mailspring
    
  • Notion

    sudo snap install notion-snap
    
  • Telegram

    sudo snap install telegram-desktop
    
  • Slack

    sudo snap install slack --classic
    
  • xMind

    sudo snap install xmind
    
  • Evince (PDF)

    sudo snap install evince
    

Image of Timescale

🚀 pgai Vectorizer: SQLAlchemy and LiteLLM Make Vector Search Simple

We built pgai Vectorizer to simplify embedding management for AI applications—without needing a separate database or complex infrastructure. Since launch, developers have created over 3,000 vectorizers on Timescale Cloud, with many more self-hosted.

Read full post →

Top comments (0)

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more