Skip to content

Latest commit

 

History

History
363 lines (291 loc) · 13.4 KB

README.md

File metadata and controls

363 lines (291 loc) · 13.4 KB

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
  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.

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

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)>

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

pacman -S --help

Instalando um pacote.

pacman -S nome_do_pacote

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

pacman -Syu discord

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.

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

É 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

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

cd yay
makepkg -si

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

provavelmente essa será sua resposta

/usr/bin/bash

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

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

Teremos alguma resposta semelhante a esta.

/bin/sh
/bin/bash
/bin/zsh
/usr/bin/zsh
/usr/bin/git-shell

E por fim usamos o comando.

chsh -s caminho_do_shell_escolhido

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

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

cp nome_fonte /usr/share/fonts/meslolgs 

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

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

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

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

git --version
wget --version

Para realizar a instalação basta executar o script

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

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

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

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

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

nano ~/.zshrc

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
  
  )

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

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

nano ~/.zshrc

E alteramos o valor da linha ZSH_THEME

ZSH_THEME="powerlevel10k/powerlevel10k"

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

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

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

Para inicializar ou desligar use

sudo systemctl start docker.service
sudo systemctl stop docker.service

Use esse comando para verificar o docker está ativo.

docker ps

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

sudo systemctl enable docker.service

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
yay -S openvpn

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/

Agora edit o arquivo usando o nano

sudo nano /etc/openvpn/myvpn.opvpn 

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

auth-user-pass /etc/openvpn/mycredentials.txt

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

user
password

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

sudo openvpn /etc/openvpn/myconfig.opvpn

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)

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

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