DEV Community

Wesley Gonçalves
Wesley Gonçalves

Posted on • Updated on

Configurando o Manjaro Linux

Image description

Guia de configuração para distro Manjaro

Atualmente estou utilizando esta distro e para auxiliar desenvolvedores, inclusive eu, na configuração deste ambiente e pra você que achou isso perdido na internet e não quer perder tempo segue o índice pra pular pro que realmente importa. 👇

Índice

  1. Instalação do S.O
    • Site oficial
    • Xfce,KDE,Gnome...
    • Usando o Rufus
    • Instalando o manjaro
    • Pos-instalação do manjaro
  2. Conhecendo os gerenciadores de pacotes
    • Pacman
    • Yay
  3. Configurando o terminal e o VScode
    • Zsh
    • Oh-my-zsh
    • plugins
    • Vscode
  4. Extras

Instalação do S.O

Acessando o site oficial do manjaro você poderá escolher qual das interfaces gráficas do S.O deseja utilizar, para a maquina que configurei estou usando XFCE, mas o sistema possui tres oficiais XFCE,KDE e Gnome.

Image description

Se você preferir existem varias opções desenvolvidas pela própria comunidade escolha a que melhor te agrada.

Escolhida sua interface agora vamos baixar a ISO diretamente ou via torrent caso sua internet seja muito lenta. Download concluído é hora de usar um programa para deixar nosso pendrive bootável, se estiver usando Windows eu aconselho usar o rufus por ser muito simples e rápido.

Como o objetivo desse manual não é focar na instalação e configuração inicial do S.O vai aqui dois videos do canal Diolinux que mostra a instalação e apresentação inicial do sistema.

Gerenciadores de pacotes

Vou supor que tenha visto os videos acima e agora vou tentar explicar como funcionam os gerenciadores de pacotes do Manjaro.

Pacman

Aqui vou somente apresentar como é usado para esta configuração, mas vou deixar aqui o link para você ler e entender melhor o funcionamento deste gerenciador, segue alguns exemplos.

Para mostra a lista de opções.

 pacman --help
Enter fullscreen mode Exit fullscreen mode

Temos como resultado estes comandos.

uso:  pacman <operação> [...]
operações:
    pacman {-h --help}
    pacman {-V --version}
    pacman {-D --database} <opções> <pacote(s)>
    pacman {-F --files}    [opções] [arquivo(s)]
    pacman {-Q --query}    [opções] [pacote(s)]
    pacman {-R --remove}   [opções] <pacote(s)>
    pacman {-S --sync}     [opções] [pacote(s)]
    pacman {-T --deptest}  [opções] [pacote(s)]
    pacman {-U --upgrade}  [opções] <arquivo(s)>

Enter fullscreen mode Exit fullscreen mode

Para detalhar cada opção basta fazer como o exemplo.

 pacman -S --help
Enter fullscreen mode Exit fullscreen mode

Instalando um pacote.

 pacman -S nome_do_pacote
Enter fullscreen mode Exit fullscreen mode

Se quisermos a versão mais atualizada do discord este será o comando.

 pacman -Syu discord
Enter fullscreen mode Exit fullscreen mode

Neste ponto vale a pena explicar o que cada flag realiza

  • -S: Instalar
  • -y: Baixa os pacotes novos do servidor
  • -u atualiza os pacotes instalados.

No caso este pacote já se encontra atualizado em sua versão mais recente e aqui é solicitado reinstalação, como mostrado na figura a seguir.

Image description

Yay

Até onde eu vi a principal diferença entre o pacman e Yay se deve ao fato de de yay conseguir fazer a instalação de pacotes oficiais da distro quanto de pacotes da comunidade chamados de AUR, mais uma vez segue o link do projeto e a seguir os passos.

 pacman -S --needed git base-devel
Enter fullscreen mode Exit fullscreen mode

É uma boa usar a pasta /tmp somente para baixar o bin para instalação pois posteriormente esse arquivo sâo será mais usado.

 cd /tmp
 git clone https://aur.archlinux.org/yay.git
Enter fullscreen mode Exit fullscreen mode

Agora entramos na pasta do projeto e executamos o comando de instalação

 cd yay
 makepkg -si
Enter fullscreen mode Exit fullscreen mode

Com a instalação concluída pode usar mesma sintaxe do pacman que funciona de boas.

Configurando o terminal e o VScode

Agora chegamos na parte mais legal e que me deu mais trabalho até agora. A ideia é deixa nosso terminal mais "bonitinho" com algumas informações relevantes e bem performático. Para isso vamos começar instalando o zsh.

Primeiro verificamos qual o SHELL estamos usando no momento.

echo $SHELL
Enter fullscreen mode Exit fullscreen mode

provavelmente essa será sua resposta

/usr/bin/bash
Enter fullscreen mode Exit fullscreen mode

Isso indica que nosso SHELL padrão é o bash, agora vamos instalar o zsh usando pacman ou yay você que escolhe.

sudo yay -S zsh
Enter fullscreen mode Exit fullscreen mode

Feito isso, voce pode nota que o zsh não é iniciado imediatamente para isso precisamos torna-lo nosso SHELL padrão, mas antes vamos listas todos os SHELLs instalados na maquina.

chsh -l
Enter fullscreen mode Exit fullscreen mode

Teremos alguma resposta semelhante a esta.

/bin/sh
/bin/bash
/bin/zsh
/usr/bin/zsh
/usr/bin/git-shell
Enter fullscreen mode Exit fullscreen mode

E por fim usamos o comando.

chsh -s caminho_do_shell_escolhido
Enter fullscreen mode Exit fullscreen mode

Agora que temos o zsh instalado vamos deixa-lo "bonitinho", pra isso precisamos de fontes que suportem ícones. Eu uso a MesloLGS

Com as fontes baixadas agora vc deve criar um diretório com essa fonte no diretório de fontes do sistema.

sudo mkdir meslolgs /usr/share/fonts
Enter fullscreen mode Exit fullscreen mode

Agora no diretório onde se encontram as fonts basta copiar para a pasta recém criada

cp nome_fonte /usr/share/fonts/meslolgs 
Enter fullscreen mode Exit fullscreen mode

OBS: Os emojis não são apresentados corretamente nesta distro, para corrigir isso basta executar o seguinte comando no terminal

yay -S noto-fonts-emoji
Enter fullscreen mode Exit fullscreen mode

Verifique se a fonte está ativa procurando por ela em qualquer editor de texto, você provavelmente verá algo como a imagem a seguir.

Image description

Agora damos inicio a instalação do framework que gerencia as configurações do Zsh o famoso Oh-My-Zsh aqui também deixo o link de um dos artigos que me ajudaram a fazer essa configuração.

OBS: O comando a seguir só ira funcionar se antes você possui o git e o wget instalados, caso não tenha use estes scripts.

sudo yay -Syu
sudo yay -S git
sudo yay -S wget
Enter fullscreen mode Exit fullscreen mode

Para verificar se tudo deu certo mesmo basta averiguar as versões dos pacotes instalados.

git --version
wget --version
Enter fullscreen mode Exit fullscreen mode

Para realizar a instalação basta executar o script

sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Enter fullscreen mode Exit fullscreen mode

Agora vamos a instalacao dos plugins que tornarão nosso zsh realmente poderoso.

zsh-z

Permite que consultemos rapidamente diretórios acessados com frequência ou recentemente.

 git clone https://github.com/agkozak/zsh-z ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-z
Enter fullscreen mode Exit fullscreen mode

zsh-autosuggestions

Tendo como base nosso historico de uso do terminal esse plugin sugere qual comando estamos querendo executar e com um seta direita ele escreve o comando.

 git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
Enter fullscreen mode Exit fullscreen mode

zsh-syntax-highlighting

Torna o terminal interativo permitindo destaque aos comandos executados pelo Zsh enquanto eles são digitados

 git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
Enter fullscreen mode Exit fullscreen mode

Agora com nossos plugins instalados precisamos ativa-los, para isso precisamos editar o arquivo de configuração do Oh-my-zsh.

nano ~/.zshrc
Enter fullscreen mode Exit fullscreen mode

Basta adicionar o nome dos plugins instalados, salvar e reiniciar o terminal. O seu deve ficar assim.

plugins=(
  git

  zsh-z

  zsh-autosuggestions

  zsh-syntax-highlighting

  )
Enter fullscreen mode Exit fullscreen mode

Para finalizarmos a instalação do terminal vamos instalar e configurar o powerlevel10k

git clone https://github.com/romkatv/powerlevel10k.git $ZSH_CUSTOM/themes/powerlevel10k

Enter fullscreen mode Exit fullscreen mode

Editamos novamente arquivo de configuração do Oh-my-zsh.

nano ~/.zshrc
Enter fullscreen mode Exit fullscreen mode

E alteramos o valor da linha ZSH_THEME

ZSH_THEME="powerlevel10k/powerlevel10k"
Enter fullscreen mode Exit fullscreen mode

Ao reiniciarmos o terminal o powerlevl10k pede que você configure sua aparência, nesse momento se você não possuir nenhuma Nerd Fonts instalada os ícones não serão reconhecidos no sistema.
Quando desejar mudar novamente a aparência do tema execute o script.

 p10k configure
Enter fullscreen mode Exit fullscreen mode

Agora seguimos para a instalação do VScode, vamos usar nesse caso novamente o o gerenciador de pacotes yay, pois o pacote usado pertence a comunidade do AUR do Arch linux a instalação é semelhante ao a do yay.

cd /tmp
git clone https://aur.archlinux.org/visual-studio-code-bin.git
cd visual-studio-code-bin
makepkg -si
Enter fullscreen mode Exit fullscreen mode

Agora temos o VScode instalado, mas nosso terminal integrado está reconhecendo nossas fontes então precisamos configurar isso. Então em configurações digite terminal.fontfamily você verá a fonte usada no momento, basta mudar para nossa fonte baixada e seu ambiente está pronto.

Extras

A partir daqui segue as configurações/aplicações que fazem parte de minha rotina.

Docker

Aqui eu usei o pacman mas deixo o link pra quem quiser usar o yay.

Instalação

sudo pacman -S docker
sudo pacman -S docker-compose
Enter fullscreen mode Exit fullscreen mode

Para inicializar ou desligar use

sudo systemctl start docker.service
sudo systemctl stop docker.service
Enter fullscreen mode Exit fullscreen mode

Use esse comando para verificar o docker está ativo.

docker ps
Enter fullscreen mode Exit fullscreen mode

Caso queria iniciar o docker junto com sua maquina sempre use.

sudo systemctl enable docker.service
Enter fullscreen mode Exit fullscreen mode

OpenVPN

Este tópico foi criado para demonstrar um caso especifico onde a conexão com a VPN acontece, mas o usuário perde o acesso a internet.

Antes de iniciar, instale os softwares openvpn e NetworkManager-OpenVPN pelo pacman ou yay pelo comando

yay -S networkmanager-openvpn
Enter fullscreen mode Exit fullscreen mode
yay -S openvpn
Enter fullscreen mode Exit fullscreen mode

Pronto, a partir de agora vou considerar que possui um arquivo de configuração da vpn myvpn.ovpn junto de um usuário e senha.
Copie o arquivo de configuração para o diretório da mostrado pelo comando.

sudo cp /caminho/para/o/arquivo/myvpn.opvpn /etc/openvpn/
Enter fullscreen mode Exit fullscreen mode

Agora edit o arquivo usando o nano

sudo nano /etc/openvpn/myvpn.opvpn 
Enter fullscreen mode Exit fullscreen mode

edit a linha que contêm auth-user-pass para ficar assim.

auth-user-pass /etc/openvpn/mycredentials.txt
Enter fullscreen mode Exit fullscreen mode

em seguida crie o arquivo no diretório especificado no comando anterior e coloque seu usuário e senha

user
password
Enter fullscreen mode Exit fullscreen mode

Pronto, agora use o seguinte comando para testar sua conexão

sudo openvpn /etc/openvpn/myconfig.opvpn
Enter fullscreen mode Exit fullscreen mode

Feito isso observe se consegue ter conexão com a internet, se sim então seu arquivo de configuração está correto e você poderá fazer também na interface gráfica. Caso o acesso a internet não esteja funcionando observe se sua saída tem algo parecido como esse apresentado.

2023-03-26 00:37:20 [NEW-OPENVPN] Peer Connection Initiated with [AF_INET]10.10.10.10:1194
2023-03-26 00:37:24 Options error: Cannot set comp-lzo to 'yes', allow-compression is set to 'no'
2023-03-26 00:37:24 TUN/TAP device tun0 opened
2023-03-26 00:37:24 net_iface_mtu_set: mtu 1500 for tun0
2023-03-26 00:37:24 net_iface_up: set tun0 up
2023-03-26 00:37:24 net_addr_v4_add: 15.15.18.2/24 dev tun0
2023-03-26 00:37:24 Initialization Sequence Completed
2023-03-26 00:37:33 write to TUN/TAP : Invalid argument (fd=-1,code=22)
2023-03-26 00:37:43 write to TUN/TAP : Invalid argument (fd=-1,code=22)
2023-03-26 00:37:53 write to TUN/TAP : Invalid argument (fd=-1,code=22)
Enter fullscreen mode Exit fullscreen mode

Para casos como mostrado acima o problema acontece pelo fato do servidor Openvpn está habilitado para permitir compressão, mas o seu cliente está configurado para desativar a compressão. Para corrigir esse problema basta editar seu arquivo myconfig.opvpn e adicionar a seguinte linha

comp-lzo yes //ou comp-lzo no caso seu servidor não tenha habilitado compressão
Enter fullscreen mode Exit fullscreen mode

Agora repita o processo e a conexão estará funcionando corretamente.
Para realizar o mesmo processo pela interface gráfica basta fazer os seguintes passos:

  1. Clique com o botão direito no ícone de sua rede ativa.
  2. Navegue pelo menu Conexões VPN > Configurar VPN
  3. Clique no ícone + para adicionar uma nova conexão
  4. Selecione a opção Importar uma configuração de VPN salva
  5. Selecione seu arquivo myconfig.opvpn
  6. Adicione seu usuário e senha, salve e sua VPN está pronta para conexão no menu Conexões VPN

Top comments (0)