<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Arquivos Personalização - Remontti</title>
	<atom:link href="https://blog.remontti.com.br/tag/personalizacao/feed" rel="self" type="application/rss+xml" />
	<link>https://blog.remontti.com.br/tag/personalizacao</link>
	<description>rudimar@remontti</description>
	<lastBuildDate>Sun, 10 Aug 2025 22:29:25 +0000</lastBuildDate>
	<language>pt-BR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://blog.remontti.com.br/wp-content/uploads/2024/09/icone-rr-80x80.png</url>
	<title>Arquivos Personalização - Remontti</title>
	<link>https://blog.remontti.com.br/tag/personalizacao</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Um pouco do meu ambiente de trabalho com Debian 12 Bookworm e Gnome 43</title>
		<link>https://blog.remontti.com.br/7512</link>
					<comments>https://blog.remontti.com.br/7512#comments</comments>
		
		<dc:creator><![CDATA[Rudimar Remontti]]></dc:creator>
		<pubDate>Mon, 19 Jun 2023 23:13:31 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[AmbienteDeTrabalho]]></category>
		<category><![CDATA[Aplicativos]]></category>
		<category><![CDATA[Artigo]]></category>
		<category><![CDATA[bookworm]]></category>
		<category><![CDATA[Comunidade.]]></category>
		<category><![CDATA[Configuração]]></category>
		<category><![CDATA[ConfiguraçõesAvançadas]]></category>
		<category><![CDATA[Customização]]></category>
		<category><![CDATA[Debian12]]></category>
		<category><![CDATA[Desempenho]]></category>
		<category><![CDATA[desktop]]></category>
		<category><![CDATA[Estabilidade]]></category>
		<category><![CDATA[Experiência]]></category>
		<category><![CDATA[Extensões]]></category>
		<category><![CDATA[GerenciadorDeArquivos]]></category>
		<category><![CDATA[Gnome43]]></category>
		<category><![CDATA[Inovação]]></category>
		<category><![CDATA[Interface]]></category>
		<category><![CDATA[Multitarefa]]></category>
		<category><![CDATA[NavegadorWeb]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[Personalização]]></category>
		<category><![CDATA[produtividade]]></category>
		<category><![CDATA[Recursos]]></category>
		<category><![CDATA[Segurança]]></category>
		<category><![CDATA[SistemaOperacional]]></category>
		<category><![CDATA[SoftwareLivre]]></category>
		<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[tema]]></category>
		<category><![CDATA[terminal]]></category>
		<category><![CDATA[Usabilidade]]></category>
		<guid isPermaLink="false">https://blog.remontti.com.br/?p=7512</guid>

					<description><![CDATA[<p>Voltando ao Debian ❤️ Desde o tempo que a distribuição Kurumin era &#8220;gente&#8221; (minha primeira experiência com linux) tenho um grande apreço por este mundo. Acabei de sair do Ubuntu 22, que não deixa&#46;&#46;&#46;</p>
<p>O post <a href="https://blog.remontti.com.br/7512">Um pouco do meu ambiente de trabalho com Debian 12 Bookworm e Gnome 43</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img fetchpriority="high" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/06/remontti_debian_12.jpg" alt="" width="720" height="340" class="alignnone size-full wp-image-7529" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/06/remontti_debian_12.jpg 720w, https://blog.remontti.com.br/wp-content/uploads/2023/06/remontti_debian_12-300x142.jpg 300w, https://blog.remontti.com.br/wp-content/uploads/2023/06/remontti_debian_12-520x245.jpg 520w" sizes="(max-width: 720px) 100vw, 720px" /></p>
<p>Voltando ao Debian <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2764.png" alt="❤" class="wp-smiley" style="height: 1em; max-height: 1em;" /> </p>
<p>Desde o tempo que a distribuição Kurumin era &#8220;gente&#8221; (minha primeira experiência com linux) tenho um grande apreço por este mundo. Acabei de <a href="https://blog.remontti.com.br/6853" rel="noopener" target="_blank">sair do Ubuntu 22</a>, que não deixa de ser um &#8220;Debian 12&#8221;, pois ele é totalmente baseado nele. Já comentei sobre os motivos que acabei utilizando ubuntu no artigo <em><a href="https://blog.remontti.com.br/6853" rel="noopener" target="_blank">Como é meu desktop de trabalho com Ubuntu</a></em>. </p>
<p>Eu não utilizo o PC para jogar e o intuito aqui é para meus amigos e colegas da área mais de telecom que utilizam mais para trabalho. Como tenho acesso a muitos servidores e roteador eu me sinto inseguro em realizar um acesso a partir de um Windows, e me sinto em paz ao usar Linux. Mas se você gosta de jogos instalar em dual boot pode ser uma boa alternativa. Vai jogar entra no windows, vai trabalhar da uma chance pro Linux:-) além do mais o GNOME te deixa com uma pegada mais produtiva!</p>
<p>Faça download neste link: <strong> <a href="https://cdimage.debian.org/mirror/cdimage/archive/12.0.0-live/amd64/iso-hybrid/" rel="noopener" target="_blank">Debian 12 Live Desktop (amd64) Gnome</a></strong> localize por <strong>debian-live-12.x.x-amd64-gnome.iso</strong>, você irá baixar a ISO com o Gnome, mas se deseja outra interface fica a seu critério, mas estarei utilizando o Gnome.</p>
<p><strong>INICIANDO LIVE CD</strong><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live.png" data-rel="lightbox-gallery-ncMT3jnf" data-rl_title="" data-rl_caption="" title=""><img decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live.png" alt="" width="640" height="480" class="alignnone size-full wp-image-7513" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live.png 640w, https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live-300x225.png 300w" sizes="(max-width: 640px) 100vw, 640px" /></a></p>
<p>Ao entrar no live, ao clicar em instalar irá solicitar uma <strong>senha</strong>, é <strong>live</strong>. Prossiga com a instalação ao seu gosto.<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live-password-installer.png" data-rel="lightbox-gallery-ncMT3jnf" data-rl_title="" data-rl_caption="" title=""><img decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live-password-installer.png" alt="" width="1364" height="765" class="alignnone size-full wp-image-7514" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live-password-installer.png 1364w, https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live-password-installer-300x168.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live-password-installer-1024x574.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live-password-installer-768x431.png 768w" sizes="(max-width: 1364px) 100vw, 1364px" /></a></p>
<p><strong>APÓS INSTALAÇÃO</strong><br />
Ao logar pela primeira vez (ou não) ao clicar no campo para digita a senha, clique sobre a engrenagem no canto direito inferior e selecione: <strong>GNOME sobre Xorg</strong> (você só precisa fazer 1x), o padrão utiliza o Wayland, no entanto alguma aplicações como Anydesk, TeamViewer entre outras e uso de cabo HDMI, infelizmente o Wayland não está preparado para tudo ainda, então vamos de motor gráfico Xorg!<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2023/06/debian_xorg.png" data-rel="lightbox-gallery-ncMT3jnf" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/06/debian_xorg.png" alt="" width="1334" height="786" class="alignnone size-full wp-image-7540" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/06/debian_xorg.png 1334w, https://blog.remontti.com.br/wp-content/uploads/2023/06/debian_xorg-300x177.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/06/debian_xorg-1024x603.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2023/06/debian_xorg-768x453.png 768w" sizes="auto, (max-width: 1334px) 100vw, 1334px" /></a></p>
<p>Como a pegada Debian é mais hardcore já sabe, vamos começar abrindo o terminal, de cara vamos remover toda a cacetada de idiomas que o firefox vem instalado e deixar só pt-br.</p>
<pre class="remontti-code">$ sudo apt purge firefox-esr-l10n-* -y 
$ sudo apt install firefox-esr-l10n-pt-br -y </pre>
<p>certifique-se de estar tudo atualizado, antes de começar</p>
<pre class="remontti-code">$ sudo apt update; sudo apt upgrade -y</pre>
<p><strong>REPOSITÓRIO</strong><br />
Por mais que agora contamos também com non-free-firmware, vamos adicionar o <strong>contrib e o non-free </strong>, </p>
<pre class="remontti-code">$ sudo nano /etc/apt/sources.list</pre>
<p>Ficando assim:</p>
<pre class="remontti-code-plain"># See https://wiki.debian.org/SourcesList for more information.
deb http://deb.debian.org/debian bookworm main non-free-firmware contrib non-free
deb-src http://deb.debian.org/debian bookworm main non-free-firmware contrib non-free

deb http://deb.debian.org/debian bookworm-updates main non-free-firmware contrib non-free
deb-src http://deb.debian.org/debian bookworm-updates main non-free-firmware contrib non-free

deb http://security.debian.org/debian-security/ bookworm-security main non-free-firmware contrib non-free
deb-src http://security.debian.org/debian-security/ bookworm-security main non-free-firmware contrib non-free

# Backports allow you to install newer versions of software made available for this release
deb http://deb.debian.org/debian bookworm-backports main non-free-firmware contrib non-free
deb-src http://deb.debian.org/debian bookworm-backports main non-free-firmware contrib non-free

</pre>
<p>Agora instale o firmware-linux</p>
<pre class="remontti-code">$ sudo apt update
$ sudo apt install firmware-linux</pre>
<p><strong>PLACA DE VÍDEO</strong><br />
O terror da maioria das pessoas!<br />
<strong><a href="https://wiki.debian.org/NvidiaGraphicsDrivers#Debian_12_.22Bookworm.22" rel="noopener" target="_blank">Nvidia</a></strong></p>
<pre class="remontti-code">$ apt install nvidia-driver firmware-misc-nonfree</pre>
<p>Dificuldades? <a href="https://wiki.debian.org/NVIDIA%20Optimus" rel="noopener" target="_blank">Esse link</a> pode lhe ajudar.</p>
<p><strong><a href="https://wiki.debian.org/AtiHowTo" rel="noopener" target="_blank">AMD/ATI</a></strong></p>
<pre class="remontti-code">$ apt installfirmware-amd-graphics</pre>
<p><strong>GRUB + KERNEL</strong><br />
Eu desativo algumas proteções do kernel (Nuca faça essa M** em um servidor) pois se tratando de desktop sei que não terei exemplo um serviço web rodando para o mundo, então para ganhar performance vou colocar <strong>mitigations</strong> em <strong>off</strong>, se você gosta do nome das interfaces de rede como eth0 wlan0 use o <strong>net.ifnames</strong> e <strong>biosdevname</strong> em <strong>0</strong>, se você quiser <strong>ver tudo </strong>que esta sendo carregado no sistema também<strong> pode remover quiet splash</strong> se desejar. Se não sabe o que ta fazendo pule essa parte! <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<pre class="remontti-code">$ sudo nano /etc/default/grub</pre>
<p>Adicione ao <strong>GRUB_CMDLINE_LINUX_DEFAULT</strong> , vai ficar assim, porem resume= é sei UID!</p>
<pre class="remontti-code-plain">GRUB_CMDLINE_LINUX_DEFAULT=&quot;mitigations=off net.ifnames=0 biosdevname=0 quiet splash resume=UUID=7c3fc737-...&quot;
</pre>
<pre class="remontti-code">$ sudo update-grub</pre>
<p>Mais ajustes</p>
<pre class="remontti-code">$ sudo su -</pre>
<p>Se você tem SSD/NVME e execute os 2 comandos</p>
<pre class="remontti-code"># echo &quot;vm.vfs_cache_pressure=50&quot; &gt;&gt; /etc/sysctl.conf
# echo &quot;vm.dirty_background_ratio = 5&quot; &gt;&gt; /etc/sysctl.conf</pre>
<p>Se tiver mais que 4GB de memória ram.</p>
<pre class="remontti-code"># echo &quot;vm.swappiness=10&quot; &gt;&gt; /etc/sysctl.conf</pre>
<p>Carregue e reinicie</p>
<pre class="remontti-code"># sysctl -p
# exit
$ sudo reboot</pre>
<p><strong>ZSH + POWERLEVEL10K</strong><br />
Já que nosso &#8220;negócio&#8221; é terminal que tal dar uma tunada com ZSH, primeiramente baixa as fontes MesloLGS</p>
<pre class="remontti-code">$ sudo apt install wget -y
$ cd /usr/local/share/fonts
$ sudo wget https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Regular.ttf
$ sudo wget https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Bold.ttf
$ sudo wget https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Italic.ttf
$ sudo wget https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Bold%20Italic.ttf</pre>
<p>Configure o terminal com a fonte MesloLGS NF<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-terminal-zsh-1.png" data-rel="lightbox-gallery-ncMT3jnf" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-terminal-zsh-1.png" alt="" width="867" height="470" class="alignnone size-full wp-image-7516" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-terminal-zsh-1.png 867w, https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-terminal-zsh-1-300x163.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-terminal-zsh-1-768x416.png 768w" sizes="auto, (max-width: 867px) 100vw, 867px" /></a></p>
<p><a href="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-terminal-zsh-2.png" data-rel="lightbox-gallery-ncMT3jnf" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-terminal-zsh-2.png" alt="" width="896" height="591" class="alignnone size-full wp-image-7517" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-terminal-zsh-2.png 896w, https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-terminal-zsh-2-300x198.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-terminal-zsh-2-768x507.png 768w" sizes="auto, (max-width: 896px) 100vw, 896px" /></a></p>
<p>Se deseja alter a cor do terminal:<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-terminal-zsh-3.png" data-rel="lightbox-gallery-ncMT3jnf" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-terminal-zsh-3.png" alt="" width="1267" height="709" class="alignnone size-full wp-image-7518" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-terminal-zsh-3.png 1267w, https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-terminal-zsh-3-300x168.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-terminal-zsh-3-1024x573.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-terminal-zsh-3-768x430.png 768w" sizes="auto, (max-width: 1267px) 100vw, 1267px" /></a></p>
<p>Instale os pacotes necessários:</p>
<pre class="remontti-code">$ sudo apt install git zsh zsh-autosuggestions zsh-syntax-highlighting fzf -y
$ git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ~/.powerlevel10k
$ echo &#039;source ~/.powerlevel10k/powerlevel10k.zsh-theme&#039; &gt;&gt;~/.zshrc
$ zsh</pre>
<p>Várias perguntas serão feitas, para chegar ao resultado a baixo respondi com:<br />
<strong>y y y y 3 1 n 1 1 1 1 2 2 2 n 1 y</strong>, mas ajuste ao seu gosto.<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-terminal-zsh-4.png" data-rel="lightbox-gallery-ncMT3jnf" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-terminal-zsh-4.png" alt="" width="933" height="187" class="alignnone size-full wp-image-7519" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-terminal-zsh-4.png 933w, https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-terminal-zsh-4-300x60.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-terminal-zsh-4-768x154.png 768w" sizes="auto, (max-width: 933px) 100vw, 933px" /></a></p>
<p>Para reconfigurar novamente execute:</p>
<pre class="remontti-code">$ p10k configure</pre>
<p>Vai ser necessário colocar algumas entradas em nosso ~/.zshrc</p>
<pre class="remontti-code">$ nano ~/.zshrc</pre>
<p>Deixe assim:</p>
<pre class="remontti-code-plain">
# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc.
# Initialization code that may require console input (password prompts, [y/n]
# confirmations, etc.) must go above this block; everything else may go below.
if [[ -r &quot;${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh&quot; ]]; then
  source &quot;${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh&quot;
fi

source ~/.powerlevel10k/powerlevel10k.zsh-theme

# share history across multiple zsh sessions
setopt SHARE_HISTORY
# append to history
setopt APPEND_HISTORY
# adds commands as they are typed, not at shell exit
setopt INC_APPEND_HISTORY
# do not store duplications
setopt HIST_IGNORE_DUPS
# ignore duplicates when searching
setopt HIST_FIND_NO_DUPS
# removes blank lines from history
setopt HIST_REDUCE_BLANKS

# setup autocompletion
autoload -Uz compinit &amp;&amp; compinit
zstyle &#039;:completion:*&#039; matcher-list &#039;m:{a-z}={A-Za-z}&#039;
# autocompletion using arrow keys (based on history)
bindkey &#039;\e[A&#039; history-search-backward
bindkey &#039;\e[B&#039; history-search-forward

setopt prompt_subst
autoload -U colors &amp;&amp; colors
local resetColor=&quot;%{$reset_color%}&quot;
PS1=&quot;&quot;
PS1=&quot;%F{cyan}&quot;&#039;($(basename &quot;$CONDA_DEFAULT_ENV&quot;)) &#039;&quot;$resetColor&quot;
PS1+=&#039;%n%{$reset_color%}@$(scutil --get ComputerName):&#039;&quot;$resetColor&quot;
PS1+=$&#039;\e[38;5;211m$(short_cwd) &#039;;
PS1+=$&#039;\e[38;5;48m[$(git_repo):$(git_branch)] &#039;;
PS1+=&#039;$resetColor$ &#039;;

bindkey &quot;^[[1;5D&quot; backward-word
bindkey &quot;^[[1;5C&quot; forward-word

source /usr/share/zsh-autosuggestions/zsh-autosuggestions.zsh
source /usr/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
source /usr/share/doc/fzf/examples/key-bindings.zsh

export LS_OPTIONS=&#039;--color=auto&#039;
eval &quot;`dircolors`&quot;
alias ls=&#039;ls $LS_OPTIONS&#039;
alias ll=&#039;ls $LS_OPTIONS -l&#039;
alias l=&#039;ls $LS_OPTIONS -lha&#039;

alias grep=&#039;grep --color&#039;
alias egrep=&#039;egrep --color&#039;
alias ip=&#039;ip -c&#039;
alias diff=&#039;diff --color&#039;
alias meuip=&#039;curl ifconfig.me; echo;&#039;
alias tail=&#039;grc tail&#039;
alias ping=&#039;grc ping&#039;
alias ps=&#039;grc ps&#039;
alias netstat=&#039;grc netstat&#039;
alias dig=&#039;grc dig&#039;
alias traceroute=&#039;grc traceroute&#039;
alias apt=&#039;sudo apt&#039;
alias l=&#039;ls -lh&#039;
alias la=&#039;ls -lha&#039;

HISTFILE=~/.zsh_history
HISTSIZE=10000
SAVEHIST=10000
setopt appendhistory

# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh

</pre>
<p>Adicione comando personalizado em preferencias para sempre que abrir o terminal carregar o zsh<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/zsh_terminal.png" data-rel="lightbox-gallery-ncMT3jnf" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/zsh_terminal.png" alt="" width="1132" height="709" class="alignnone size-full wp-image-6940" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/zsh_terminal.png 1132w, https://blog.remontti.com.br/wp-content/uploads/2022/11/zsh_terminal-300x188.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/zsh_terminal-1024x641.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/11/zsh_terminal-768x481.png 768w" sizes="auto, (max-width: 1132px) 100vw, 1132px" /></a></p>
<p><strong>FERRAMENTAS &#038; UTILITÁRIO</strong><br />
Como utilizo muito o vim no meu dia a dia faço alguns ajustes.</p>
<pre class="remontti-code">$ apt install vim
$ cat &lt;&lt;EOF &gt;~/.vimrc
set showmatch &quot; Mostrar colchetes correspondentes
set ts=4 &quot; Ajuste tab
set sts=4 &quot; Ajuste tab
set sw=4 &quot; Ajuste tab
set autoindent &quot; Ajuste tab
set smartindent &quot; Ajuste tab
set smarttab &quot; Ajuste tab
set expandtab &quot; Ajuste tab
&quot;set number &quot; Mostra numero da linhas
EOF
$ sudo sed -i &#039;s/&quot;syntax on/syntax on/&#039; /etc/vim/vimrc
$ sudo sed -i &#039;s/&quot;set background=dark/set background=dark/&#039; /etc/vim/vimrc
</pre>
<p>Sou amante do terminal e muitas da ferramentas de terminal ajudam a debugar problemas, recomendo uma leitura do artigo: <a href="https://blog.remontti.com.br/5867" rel="noopener" target="_blank">Como melhorar a produtividade</a>. Tem alguns aplicações extras ai no meio também como filezilla, mas garanto tudo é útil!</p>
<pre class="remontti-code">$ sudo apt install htop iotop iftop hdparm locate traceroute tree \
  ipcalc sipcalc mtr-tiny whois dnsutils net-tools ncdu apt-transport-https \
  neofetch breeze bash-completion fzf curl grc bgpq4 nmap lm-sensors ncal \
  rtorrent links arping bmon tcpdump ethtool iptraf-ng mutter qbittorrent \
  filezilla vinagre rdesktop icedtea-netx default-jre kolourpaint -y
</pre>
<p>Provavelmente você utiliza VPNs então os pacotes a baixo não podem falar:</p>
<pre class="remontti-code">$ sudo apt install network-manager-gnome \
 network-manager-pptp-gnome \
 network-manager-vpnc-gnome \
 network-manager-ssh-gnome \
 network-manager-openvpn-gnome \
 network-manager-l2tp-gnome 
</pre>
<p>Eu gosto de dar uma personalizada no GNOME, vou deixar aqui algumas extensões que curto. (Use se te agradar).</p>
<pre class="remontti-code">$ sudo apt install gnome-shell-extension-manager gnome-tweaks  -y</pre>
<p>Abra a aplicação: <strong>Gereciador de Extensões</strong> e clique em <strong>Navegar</strong><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live-extensao1.png" data-rel="lightbox-gallery-ncMT3jnf" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live-extensao1.png" alt="" width="862" height="654" class="alignnone size-full wp-image-7520" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live-extensao1.png 862w, https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live-extensao1-300x228.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live-extensao1-768x583.png 768w" sizes="auto, (max-width: 862px) 100vw, 862px" /></a></p>
<p>Na buscar pesquise por:<br />
<a href="https://extensions.gnome.org/extension/3193/blur-my-shell/" rel="noopener" target="_blank"><strong>Blur my Shell</strong></a> ela vai deixar acompanhado o papel de parede.<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live-extensao2.png" data-rel="lightbox-gallery-ncMT3jnf" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live-extensao2.png" alt="" width="1280" height="800" class="alignnone size-full wp-image-7521" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live-extensao2.png 1280w, https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live-extensao2-300x188.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live-extensao2-1024x640.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live-extensao2-768x480.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" /></a></p>
<p><a href="https://extensions.gnome.org/extension/4158/gnome-40-ui-improvements/" rel="noopener" target="_blank"><strong>Gnome 4x UI Improvements</strong></a> irá exibir as áreas de trabalho, inclusive você pode arrastar uma aplicação para dentro dela.<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live-extensao3.png" data-rel="lightbox-gallery-ncMT3jnf" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live-extensao3.png" alt="" width="1280" height="800" class="alignnone size-full wp-image-7522" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live-extensao3.png 1280w, https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live-extensao3-300x188.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live-extensao3-1024x640.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live-extensao3-768x480.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" /></a></p>
<p><a href="https://extensions.gnome.org/extension/2890/tray-icons-reloaded/" rel="noopener" target="_blank"><strong>Tray Icons: Reloaded</strong></a> caso você tem problema com algum ícones que não é exibido na barra, pode tentar usa-lo.<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/tray-icon.png" data-rel="lightbox-gallery-ncMT3jnf" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/tray-icon.png" alt="" width="400" height="200" class="alignnone size-full wp-image-6887" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/tray-icon.png 400w, https://blog.remontti.com.br/wp-content/uploads/2022/11/tray-icon-300x150.png 300w" sizes="auto, (max-width: 400px) 100vw, 400px" /></a></p>
<p><a href="https://extensions.gnome.org/extension/4679/burn-my-windows/" rel="noopener" target="_blank"><strong>Burn My Windows</strong></a> se você é das antigas e lembra do compiz vai gostar desse, janelinha explodindo, pegando fogo, e muitas animações. Nas configurações dessa extensão você encontra muita frescura rsrsrs<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/firulagem.gif" data-rel="lightbox-gallery-ncMT3jnf" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/firulagem.gif" alt="" width="320" height="200" class="alignnone size-full wp-image-6888" /></a></p>
<p><a href="https://extensions.gnome.org/extension/4648/desktop-cube/" rel="noopener" target="_blank"><strong>Desktop Cube</strong></a> vai tornar suas áreas de trabalho em um cubo.<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/cube.gif" data-rel="lightbox-gallery-ncMT3jnf" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/cube.gif" alt="" width="320" height="180" class="alignnone size-full wp-image-6889" /></a></p>
<p><a href="https://extensions.gnome.org/extension/3724/net-speed-simplified/" rel="noopener" target="_blank"><strong>Net speed Simplified</strong></a> se você quiser acompanhar o trafego da sua interface de rede.<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/trafego.gif" data-rel="lightbox-gallery-ncMT3jnf" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/trafego.gif" alt="" width="356" height="64" class="alignnone size-full wp-image-6891" /></a></p>
<p><a href="https://extensions.gnome.org/extension/3396/color-picker/" rel="noopener" target="_blank"><strong>Color Picker</strong></a> se você precisa descobrir uma cor de qualquer objeto do seu desktop essa é uma ótima extensão.<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/colorpicker.png" data-rel="lightbox-gallery-ncMT3jnf" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/colorpicker.png" alt="" width="454" height="345" class="alignnone size-full wp-image-6892" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/colorpicker.png 454w, https://blog.remontti.com.br/wp-content/uploads/2022/11/colorpicker-300x228.png 300w" sizes="auto, (max-width: 454px) 100vw, 454px" /></a></p>
<p><a href="https://extensions.gnome.org/extension/750/openweather/" rel="noopener" target="_blank"><strong>OpenWeather</strong></a> informações de clima.<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/clima.png" data-rel="lightbox-gallery-ncMT3jnf" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/clima.png" alt="" width="606" height="302" class="alignnone size-full wp-image-6894" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/clima.png 606w, https://blog.remontti.com.br/wp-content/uploads/2022/11/clima-300x150.png 300w" sizes="auto, (max-width: 606px) 100vw, 606px" /></a></p>
<p><a href="https://extensions.gnome.org/extension/2458/bubblemail/" rel="noopener" target="_blank">Bubblemail</a> se você precisa acompanhar seus e-mails esse cara pode lhe ajudar bastante. é necessário a instalação do <a href="http://bubblemail.free.fr/downloads" rel="noopener" target="_blank">bubblemail</a>.</p>
<pre class="remontti-code">$ cd /tmp; wget http://bubblemail.free.fr/releases/debian/bubblemail_1.8-1_all.deb 
sudo apt install ./bubblemail_1.8-1_all.deb</pre>
<p>Agora basta configurar sua conta na extensão.</p>
<p>Existe muita personalização possíveis, para icones novos e themas crie dois diretórios. </p>
<pre class="remontti-code">$ mkdir ~/.themes
$ mkdir ~/.icons</pre>
<p>Vamos supor que queira alterar o cursor para um novo, vou baixar o <a href="https://www.gnome-look.org/p/999927/" rel="noopener" target="_blank">Cursor Breeze</a> que eu gosto (herança do KDE) faça download do mesmo. <em>(Ignore meus prints do ubuntu, reaproveitei)</em><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/breeze.png" data-rel="lightbox-gallery-ncMT3jnf" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/breeze.png" alt="" width="625" height="71" class="alignnone size-full wp-image-6896" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/breeze.png 625w, https://blog.remontti.com.br/wp-content/uploads/2022/11/breeze-300x34.png 300w" sizes="auto, (max-width: 625px) 100vw, 625px" /></a><br />
<strong>Extraia</strong> o mesmo e mova para a pasta breeze para dentro de <strong>.icons</strong> que esta dentro da sua<strong> Pasta Pessoal</strong>, no linux tudo que começa com ponto é oculto, para exibi-los pressione <strong>CRTL+H</strong>.<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/cursor.png" data-rel="lightbox-gallery-ncMT3jnf" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/cursor.png" alt="" width="1281" height="799" class="alignnone size-full wp-image-6897" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/cursor.png 1281w, https://blog.remontti.com.br/wp-content/uploads/2022/11/cursor-300x187.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/cursor-1024x639.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/11/cursor-768x479.png 768w" sizes="auto, (max-width: 1281px) 100vw, 1281px" /></a><br />
Em seguida abra <strong>Ajustes</strong>, em <strong>Aparência</strong>, <strong>Cursor</strong> selecione <strong>Breeze</strong><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/cursor2.png" data-rel="lightbox-gallery-ncMT3jnf" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/cursor2.png" alt="" width="1281" height="791" class="alignnone size-full wp-image-6898" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/cursor2.png 1281w, https://blog.remontti.com.br/wp-content/uploads/2022/11/cursor2-300x185.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/cursor2-1024x632.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/11/cursor2-768x474.png 768w" sizes="auto, (max-width: 1281px) 100vw, 1281px" /></a></p>
<p>Alguns pacotes de icones/themas você encontra no repositório também. Um bem bonito é o Papirus.</p>
<pre class="remontti-code">$ sudo apt install papirus-icon-theme</pre>
<p>Vou deixar alguns Icones/Temas que acho bonito para os temas basta colocar eles na pasta  ~/.themes<br />
<a href="https://www.gnome-look.org/p/1477945" rel="noopener" target="_blank">https://www.gnome-look.org/p/1477945</a><br />
<a href="https://www.gnome-look.org/p/1201366" rel="noopener" target="_blank">https://www.gnome-look.org/p/1201366</a><br />
<a href="https://www.gnome-look.org/p/1357889" rel="noopener" target="_blank">https://www.gnome-look.org/p/1357889</a><br />
<a href="https://www.gnome-look.org/p/1013030" rel="noopener" target="_blank">https://www.gnome-look.org/p/1013030</a><br />
<a href="https://www.gnome-look.org/p/1661983" rel="noopener" target="_blank">https://www.gnome-look.org/p/1661983</a><br />
<a href="https://www.gnome-look.org/p/1678986" rel="noopener" target="_blank">https://www.gnome-look.org/p/1678986</a><br />
<a href="https://www.gnome-look.org/p/1348081" rel="noopener" target="_blank">https://www.gnome-look.org/p/1348081</a><br />
<a href="https://www.pling.com/p/1280977" rel="noopener" target="_blank">https://www.pling.com/p/1280977</a></p>
<p><strong>GOOGLE CHROME</strong><br />
Você pode manipular as extensões pelo Google Chrome também. Primeiramente vamos instala-lo.</p>
<pre class="remontti-code">$ cd /tmp/
$ wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
$ sudo apt install ./google-chrome-stable_current_amd64.deb chrome-gnome-shell -y</pre>
<p>Acesse no Google Chrome: <a href="https://chrome.google.com/webstore/detail/gnome-shell-integration/gphhapmejobijbbhgpjhcjognlahblep" rel="noopener" target="_blank">Integração com GNOME Shell</a> Clique em Usar no Chrome. Agora com a extensão instalada você pode administrar acessando: <a href="https://extensions.gnome.org/local/" rel="noopener" target="_blank">https://extensions.gnome.org/local/</a></p>
<p><strong>TELEGRAM</strong><br />
Telegram até esta no repositório porem recebe atualizações sempre atrasadas, etão vamos fazer a instalação manual, abra seu terminal:</p>
<pre class="remontti-code">$ cd /tmp/
$ wget https://telegram.org/dl/desktop/linux -O tsetup.tar.xz
$ tar xvf tsetup.tar.xz
$ sudo mv Telegram/ /opt/
$ sudo chown $USER: /opt/Telegram/ -R
$ sudo ln -sf /opt/Telegram/Telegram /usr/bin/telegram
$ telegram &amp;</pre>
<p><strong>VIRTUALBOX 7</strong><br />
Vamos atualizar o repositório oficial do <a href="https://www.virtualbox.org/wiki/Linux_Downloads" rel="noopener" target="_blank">Vbox</a>.</p>
<pre class="remontti-code">$ wget -O- https://www.virtualbox.org/download/oracle_vbox_2016.asc | sudo \
   gpg --dearmor --yes --output /usr/share/keyrings/oracle-virtualbox-2016.gpg</pre>
<pre class="remontti-code">$ sudo nano /etc/apt/sources.list.d/virtualbox.list </pre>
<pre class="remontti-code-plain">deb [arch=amd64 signed-by=/usr/share/keyrings/oracle-virtualbox-2016.gpg]  https://download.virtualbox.org/virtualbox/debian bookworm contrib</pre>
<p>Salve e feche.</p>
<pre class="remontti-code">$ sudo apt update
$ sudo apt install virtualbox-7.0 -y
$ sudo usermod -a -G vboxusers $USER
$ cd /tmp
$ wget https://download.virtualbox.org/virtualbox/7.0.12/Oracle_VM_VirtualBox_Extension_Pack-7.0.12.vbox-extpack
$ VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-7.0.12.vbox-extpack</pre>
<p>Uma extensão do GNOME que você pode gostar é a <a href="https://extensions.gnome.org/extension/1415/virtualbox-applet/" rel="noopener" target="_blank"><strong>Virtualbox Applet</strong></a></p>
<p><strong>DROPBOX</strong></p>
<pre class="remontti-code">$ cd /tmp/
$ sudo apt install python3-gpg -y
$ wget &quot;https://www.dropbox.com/download?dl=packages/ubuntu/dropbox_2022.12.05_amd64.deb&quot; \
  -O dropbox.deb
$ sudo apt install ./dropbox.deb -y
$ apt update
$ apt upgrade
</pre>
<p>Não achei solução ainda para o erro apt-key, então comenti a linha do repositorio.</p>
<pre class="remontti-code">$ sudo nano /etc/apt/sources.list.d/dropbox.list</pre>
<p><strong>SUBLIME-TEXT</strong></p>
<pre class="remontti-code">$ wget -O- https://download.sublimetext.com/sublimehq-pub.gpg \
  | gpg --dearmor | sudo tee /usr/share/keyrings/sublimehq-archive-keyring.gpg &amp;&gt;/dev/null
$ echo &quot;deb [signed-by=/usr/share/keyrings/sublimehq-archive-keyring.gpg] \
  https://download.sublimetext.com/ apt/stable/&quot; | \
  sudo tee /etc/apt/sources.list.d/sublime-text.list
$ sudo apt update ; sudo apt install sublime-text -y</pre>
<p><strong>VSCODE</strong></p>
<pre class="remontti-code">$ cd /tmp
$ wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor &gt; packages.microsoft.gpg
$ sudo install -o root -g root -m 644 packages.microsoft.gpg /etc/apt/trusted.gpg.d/
$ sudo sh -c &#039;echo &quot;deb [arch=amd64,arm64,armhf signed-by=/etc/apt/trusted.gpg.d/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main&quot; &gt; /etc/apt/sources.list.d/vscode.list&#039;
$ sudo apt update ; sudo apt install code -y</pre>
<p><strong>TEAMVIEWER</strong></p>
<pre class="remontti-code">$ cd /tmp/
$ wget https://download.teamviewer.com/download/linux/teamviewer_amd64.deb
$ sudo apt install ./teamviewer_amd64.deb -y</pre>
<p><strong>ANYDESK</strong></p>
<pre class="remontti-code">$ wget -qO - https://keys.anydesk.com/repos/DEB-GPG-KEY \
  | sudo tee /usr/share/keyrings/anydesk.asc
$ echo &quot;deb [signed-by=/usr/share/keyrings/anydesk.asc] \
  http://deb.anydesk.com/ all main&quot; \
  |sudo tee /etc/apt/sources.list.d/anydesk-stable.list
$ sudo apt update
$ cd /tmp 
$ wget http://ftp.br.debian.org/debian/pool/main/p/pangox-compat/libpangox-1.0-0_0.0.2-5+b2_amd64.deb
$ sudo apt install ./libpangox-1.0-0_0.0.2-5+b2_amd64.deb -y
$ sudo apt install anydesk -y
$ sudo systemctl disable anydesk</pre>
<p><strong>SKYPE</strong><br />
Para os mais idosos (e olha que eu já abandonei ele :-D)</p>
<pre class="remontti-code">$ cd /tmp/
$ wget https://repo.skype.com/latest/skypeforlinux-64.deb
$ sudo apt install ./skypeforlinux-64.deb -y</pre>
<p>Vai precisar ajustar o repositório para nao ter erro, como não uso não pesquisei. Mas remove do repositório que esta resolvido, se precisar atualizar baixe e instale novamente.</p>
<pre class="remontti-code">$ sudo rm /etc/apt/sources.list.d/skype-stable.list</pre>
<p><strong>ONLYOFFICE</strong><br />
Melhor pacote office na minha opnião.</p>
<pre class="remontti-code">$ cd /tmp
$ wget https://download.onlyoffice.com/install/desktop/editors/linux/onlyoffice-desktopeditors_amd64.deb 
$ sudo apt install ./onlyoffice-desktopeditors_amd64.deb -y</pre>
<p><strong>GOOGLE EARTH</strong></p>
<pre class="remontti-code">$ cd /tmp/
$ wget https://dl.google.com/dl/earth/client/current/google-earth-pro-stable_current_amd64.deb
$ sudo apt install ./google-earth-pro-stable_current_amd64.deb -y</pre>
<p><strong>CALCULADORA IPV6</strong></p>
<pre class="remontti-code">$ sudo apt install python3-pip
$ pip install --break-system-packages ipaddr
$ sudo wget https://blog.remontti.com.br/arquivos/ip6calc_py3 -O /bin/ip6calc
$ sudo chmod a+x /bin/ip6calc
$ ip6calc 2804:f123::/32</pre>
<p><strong>AJUSTES INICIALIZAÇÃO</strong><br />
Você pode estranhar o NumLock não vir ativado na inicialização para resolver isso:</p>
<pre class="remontti-code">$ sudo apt install numlockx -y
$ mkdir ~/.config/autostart/ &amp;&gt;/dev/null
$ nano ~/.config/autostart/numlockx.desktop</pre>
<p>Adicione:</p>
<pre class="remontti-code">[Desktop Entry]
Type=Application
Exec=/usr/bin/numlockx on
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name[pt_BR]=Inicia NumLock Ativo
Name=Inicia NumLock Ativo
Comment[pt_BR]=Inicia NumLock Ativo
Comment=Inicia NumLock Ativo
</pre>
<p>Outro problema que você pode encontrar dependendo do seu teclado, é que o ponto no teclado numérico ao usar algum aplicativo que esteja sendo executado pelo wine/playonlinux saia uma virgula. Abra seu winbox ai e teste. Se for seu caso abra o terminal e execute:</p>
<pre class="remontti-code">$ /usr/bin/xmodmap -e &#039;keycode 129 = period</pre>
<p>Resolveu, crie uma entrada na inicialização!<br />
$ nano ~/.config/autostart/pontowine.desktop<br />
Adicione:</p>
<pre class="remontti-code">[Desktop Entry]
Type=Application
Exec=/usr/bin/xmodmap -e &#039;keycode 129 = period&#039;
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name[pt_BR]=Ponto Wine
Name=Ponto Wine
Comment[pt_BR]=Ponto Wine
Comment=Ponto Wine
</pre>
<p><strong>PRINT COM FLAMESHOT</strong><br />
Gnome melhorou bastante o print nas ultimas versões mais ainda gosto mais do flameshot</p>
<pre class="remontti-code">$ sudo apt install flameshot -y</pre>
<p>Para criar um atalho abra <strong>Configurações</strong> &#8211; <strong>Teclado</strong> > <strong>Atalhos de teclado</strong> > <strong>Veja e personalize atalhos</strong><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_atalho.png" data-rel="lightbox-gallery-ncMT3jnf" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_atalho.png" alt="" width="1033" height="785" class="alignnone size-full wp-image-6930" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_atalho.png 1033w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_atalho-300x228.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_atalho-1024x778.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_atalho-768x584.png 768w" sizes="auto, (max-width: 1033px) 100vw, 1033px" /></a></p>
<p>Clique em <strong>Atalhos personalizados</strong> e Adicione um novo<br />
Nome: <strong>Print Flame</strong><br />
Comando: <strong>/usr/bin/flameshot gui</strong><br />
Associar a tecla Print (Meu exemplo vou usar CTRL+Print)<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_atalho2.png" data-rel="lightbox-gallery-ncMT3jnf" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_atalho2.png" alt="" width="997" height="636" class="alignnone size-full wp-image-6931" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_atalho2.png 997w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_atalho2-300x191.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_atalho2-768x490.png 768w" sizes="auto, (max-width: 997px) 100vw, 997px" /></a></p>
<pre class="remontti-code">$ flameshot config </pre>
<p>Faça os ajustes de configurações com as suas necessidades, eu desativo as notificações e uso Enter para copiar para área de transferência. </p>
<p><strong>GIMP</strong><br />
Se você precisa editar algumas imagens (É o concorrente do photoshop)</p>
<pre class="remontti-code"> sudo apt install gimp</pre>
<p><strong>SPOTIFY</strong></p>
<pre class="remontti-code">$ curl -sS https://download.spotify.com/debian/pubkey_7A3A762FAFD4A51F.gpg \
 | sudo gpg --dearmor --yes -o /etc/apt/trusted.gpg.d/spotify.gpg
$ echo &quot;deb http://repository.spotify.com stable non-free&quot; | sudo \
 tee /etc/apt/sources.list.d/spotify.list
$ sudo apt update; sudo apt install spotify-client -y</pre>
<p><strong>PLAYONLINUX</strong><br />
Para executar algumas aplicações <strong>.exe</strong> Exemplo um Winbox, The Dude (Os que mais me perguntam)&#8230; </p>
<pre class="remontti-code">$ sudo dpkg --add-architecture i386 ; sudo apt update ; sudo apt upgrade
$ sudo apt install playonlinux msttcorefonts</pre>
<p>Vou demonstrar como instalar o Dude e Winbox com o playonlinux, faça download dos mesmo, vamos te terminal né!</p>
<pre class="remontti-code">$ $ cd ~/Downloads
$ wget https://download.mikrotik.com/routeros/6.48.7/dude-install-6.48.7.exe
$ wget https://download.mikrotik.com/winbox/3.38/winbox.exe</pre>
<p>Abra o Playonlinux e clique em <strong>Instalar um program</strong> e em seguida <strong>Instalar um programa não listado</strong><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_1.png" data-rel="lightbox-gallery-ncMT3jnf" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_1.png" alt="" width="946" height="619" class="alignnone size-full wp-image-6901" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_1.png 946w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_1-300x196.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_1-768x503.png 768w" sizes="auto, (max-width: 946px) 100vw, 946px" /></a></p>
<p><strong>Avançar</strong><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_2.png" data-rel="lightbox-gallery-ncMT3jnf" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_2.png" alt="" width="847" height="566" class="alignnone size-full wp-image-6902" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_2.png 847w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_2-300x200.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_2-768x513.png 768w" sizes="auto, (max-width: 847px) 100vw, 847px" /></a></p>
<p><strong>Avançar</strong><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_3.png" data-rel="lightbox-gallery-ncMT3jnf" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_3.png" alt="" width="857" height="570" class="alignnone size-full wp-image-6903" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_3.png 857w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_3-300x200.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_3-768x511.png 768w" sizes="auto, (max-width: 857px) 100vw, 857px" /></a></p>
<p><strong>Avançar</strong><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_4.png" data-rel="lightbox-gallery-ncMT3jnf" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_4.png" alt="" width="850" height="563" class="alignnone size-full wp-image-6904" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_4.png 850w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_4-300x199.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_4-768x509.png 768w" sizes="auto, (max-width: 850px) 100vw, 850px" /></a><br />
Selecione <strong>Editar ou atualizar um aplicativo existente </strong>e <strong>Avançar</strong></p>
<p><a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_5.png" data-rel="lightbox-gallery-ncMT3jnf" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_5.png" alt="" width="869" height="567" class="alignnone size-full wp-image-6905" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_5.png 869w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_5-300x196.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_5-768x501.png 768w" sizes="auto, (max-width: 869px) 100vw, 869px" /></a></p>
<p>Marque <strong>Exibir unidade virtuais</strong> selecione <strong>default</strong> e <strong>Avançar</strong>.<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_6.png" data-rel="lightbox-gallery-ncMT3jnf" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_6.png" alt="" width="862" height="561" class="alignnone size-full wp-image-6906" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_6.png 862w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_6-300x195.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_6-768x500.png 768w" sizes="auto, (max-width: 862px) 100vw, 862px" /></a></p>
<p><strong>Avançar</strong><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_7.png" data-rel="lightbox-gallery-ncMT3jnf" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_7.png" alt="" width="838" height="550" class="alignnone size-full wp-image-6907" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_7.png 838w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_7-300x197.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_7-768x504.png 768w" sizes="auto, (max-width: 838px) 100vw, 838px" /></a></p>
<p>Selecione <strong>32bits </strong>e <strong>Avançar</strong><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_8.png" data-rel="lightbox-gallery-ncMT3jnf" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_8.png" alt="" width="847" height="556" class="alignnone size-full wp-image-6908" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_8.png 847w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_8-300x197.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_8-768x504.png 768w" sizes="auto, (max-width: 847px) 100vw, 847px" /></a></p>
<p>Clique em <strong>Navegar</strong>, e procure o <em>dude-install-6.xx.x.exe</em> em Downloads e clique em <strong>Avançar</strong><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_9.png" data-rel="lightbox-gallery-ncMT3jnf" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_9.png" alt="" width="848" height="553" class="alignnone size-full wp-image-6909" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_9.png 848w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_9-300x196.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_9-768x501.png 768w" sizes="auto, (max-width: 848px) 100vw, 848px" /></a></p>
<p>Instalador será iniciado, então clique em <strong>I Agree, Next, Next</strong>, mas <font color="red">não em <strong>Close</strong></font><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_10.png" data-rel="lightbox-gallery-ncMT3jnf" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_10.png" alt="" width="867" height="569" class="alignnone size-full wp-image-6912" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_10.png 867w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_10-300x197.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_10-768x504.png 768w" sizes="auto, (max-width: 867px) 100vw, 867px" /></a></p>
<p><font color="red">Não clique em <strong>Close</strong></font> ainda!<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_13.png" data-rel="lightbox-gallery-ncMT3jnf" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_13.png" alt="" width="887" height="577" class="alignnone size-full wp-image-6910" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_13.png 887w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_13-300x195.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_13-768x500.png 768w" sizes="auto, (max-width: 887px) 100vw, 887px" /></a></p>
<p>Abra o explore entre na pasta Download e copie o <strong>winbox.exe </strong>para<strong> PlayOnLinux&#8217;s virtual drives/default/drive_c/Program Files/Dude</strong><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_14.png" data-rel="lightbox-gallery-ncMT3jnf" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_14.png" alt="" width="1280" height="778" class="alignnone size-full wp-image-6913" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_14.png 1280w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_14-300x182.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_14-1024x622.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_14-768x467.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" /></a><br />
Se preferir pelo terminal:</p>
<pre class="remontti-code">$ cp ~/Downloads/winbox.exe \
   ~/PlayOnLinux\&#039;s\ virtual\ drives/default/drive_c/Program\ Files/Dude/</pre>
<p>Feito isso agora sim pode clicar em <strong>Close</strong>, desta forma todos os .exe do diretório da instalação irão aparecer para criar um atalho.</p>
<p>Selecione <strong>winbox.exe</strong> e clique em <strong>Avançar</strong><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_15.png" data-rel="lightbox-gallery-ncMT3jnf" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_15.png" alt="" width="847" height="554" class="alignnone size-full wp-image-6914" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_15.png 847w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_15-300x196.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_15-768x502.png 768w" sizes="auto, (max-width: 847px) 100vw, 847px" /></a></p>
<p>De o nome <strong>Winbox </strong>para aplicação, e clique em <strong>Avançar</strong><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_16.png" data-rel="lightbox-gallery-ncMT3jnf" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_16.png" alt="" width="847" height="547" class="alignnone size-full wp-image-6915" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_16.png 847w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_16-300x194.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_16-768x496.png 768w" sizes="auto, (max-width: 847px) 100vw, 847px" /></a></p>
<p>Faça o mesmo para o dude.exe<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_17.png" data-rel="lightbox-gallery-ncMT3jnf" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_17.png" alt="" width="855" height="562" class="alignnone size-full wp-image-6917" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_17.png 855w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_17-300x197.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_17-768x505.png 768w" sizes="auto, (max-width: 855px) 100vw, 855px" /></a></p>
<p>Agora para finalizar escolha:<strong> Eu não quero criar outro atalho</strong>, e clique em <strong>Avançar</strong><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_18.png" data-rel="lightbox-gallery-ncMT3jnf" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_18.png" alt="" width="842" height="554" class="alignnone size-full wp-image-6918" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_18.png 842w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_18-300x197.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_18-768x505.png 768w" sizes="auto, (max-width: 842px) 100vw, 842px" /></a></p>
<p>Pode fechar o PlayOnLinux<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_19.png" data-rel="lightbox-gallery-ncMT3jnf" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_19.png" alt="" width="841" height="552" class="alignnone size-full wp-image-6919" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_19.png 841w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_19-300x197.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_19-768x504.png 768w" sizes="auto, (max-width: 841px) 100vw, 841px" /></a></p>
<p>Dois atalhos/arquivos [Dude.desktop Winbox.desktop] foram criado na Área de trabalho, porém você não irá ver nada nela, pois por ao logarmos no sistema com Gnome, a extensão Desktop con NG foi desativada (Caso queira ativar) eu não gosto ehehehe. Eu irei mover eles para o menu de aplicações do sistema, para isso basta mover esses atalhos para ~/.local/share/applications, vou fazer por comando que é menos print para esse tutorial hehehe.</p>
<pre class="remontti-code">$ mv ~/Área\ de\ trabalho/*.desktop ~/.local/share/applications</pre>
<p>Pronto você pode clicar com o direito e Fixar aos favoritos.<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_20.png" data-rel="lightbox-gallery-ncMT3jnf" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_20.png" alt="" width="1274" height="796" class="alignnone size-full wp-image-6920" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_20.png 1274w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_20-300x187.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_20-1024x640.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_20-768x480.png 768w" sizes="auto, (max-width: 1274px) 100vw, 1274px" /></a></p>
<p><a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_21.png" data-rel="lightbox-gallery-ncMT3jnf" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_21.png" alt="" width="1266" height="790" class="alignnone size-full wp-image-6921" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_21.png 1266w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_21-300x187.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_21-1024x639.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_21-768x479.png 768w" sizes="auto, (max-width: 1266px) 100vw, 1266px" /></a></p>
<p>Um dia também interessante é copiar as fontes da MS para a unidade virtal, assim as aplicações não ficam bugadas.</p>
<pre class="remontti-code">$ cp /usr/share/fonts/truetype/msttcorefonts/* \
   ~/PlayOnLinux\&#039;s\ virtual\ drives/default/drive_c/windows/Fonts/</pre>
<p><strong>CLIENTE SSH</strong><br />
Meu cliente SSH é o próprio terminal, porém você deve usar um desses programinhas de fresco que tem salvo joão, josé e maria&#8230; <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f61b.png" alt="😛" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>Como sou das antigas acabei que criando um Shell Script (usando dialog) para ir &#8220;catalogando&#8221; todos os servidores/roteadores que tenho acesso. Veja um exemplo simples:</p>
<pre class="remontti-code">$ sudo apt install dialog</pre>
<p>Crie um arquivo com:</p>
<pre class="remontti-code">$ nano vaiplaneta</pre>
<pre class="remontti-code-plain">#!/bin/bash
# Requer dialog
while : ; do
    resposta=$(
      dialog --stdout               \
             --title &#039;Acesso SSH&#039;  \
             --menu &#039;Selecione o Servidor:&#039; \
            0 0 0                   \
            1 &#039;IDENTIFICA - LALALA&#039; \
            2 &#039;IDENTIFICA - LALALA&#039; \
            3 &#039;IDENTIFICA - LALALA&#039; \
            4 &#039;IDENTIFICA - LALALA&#039; \
            5 &#039;IDENTIFICA - LALALA&#039; \
            6 &#039;IDENTIFICA - LALALA&#039; \
            7 &#039;IDENTIFICA - LALALA&#039; \
            8 &#039;IDENTIFICA - LALALA&#039; \
            9 &#039;IDENTIFICA - LALALA&#039; \
            0 &#039;Sair&#039; )

    [ $? -ne 0 ] &amp;&amp; break

    case &quot;$resposta&quot; in
         1) ssh -p 12345 usuario@10.10.10.10 ;;
         2) ssh -p 12345 usuario@10.10.10.10 ;;
         3) ssh -p 12345 usuario@10.10.10.10 ;;
         4) ssh -p 12345 usuario@10.10.10.10 ;;
         5) ssh -p 12345 usuario@10.10.10.10 ;;
         6) ssh -p 12345 usuario@10.10.10.10 ;;
         7) ssh -p 12345 usuario@10.10.10.10 ;;
         8) ssh -p 12345 usuario@10.10.10.10 ;;
         9) ssh -p 12345 usuario@10.10.10.10 ;;
         0) break ;;
    esac
done</pre>
<pre class="remontti-code">$ chmod +x vaiplaneta
$ ./vaiplaneta
</pre>
<p><a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/dialog.png" data-rel="lightbox-gallery-ncMT3jnf" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/dialog.png" alt="" width="845" height="569" class="alignnone size-full wp-image-6943" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/dialog.png 845w, https://blog.remontti.com.br/wp-content/uploads/2022/11/dialog-300x202.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/dialog-768x517.png 768w" sizes="auto, (max-width: 845px) 100vw, 845px" /></a></p>
<p>Outro modelinho mais elaborado sub seleção&#8230;</p>
<pre class="remontti-code">$ nano gogo</pre>
<pre class="remontti-code-plain">#!/bin/bash
# Requer dialog

janela=inicial

while : ; do

    case &quot;$janela&quot; in
        inicial)
            grupo=$(
                dialog --stdout \
                    --backtitle &#039;Acessos Remoto&#039; \
                    --title &#039;ACESSO&#039; \
                    --menu &#039;Selecione o Grupo:&#039;\
                    0 0 0 \
                    1 &#039;Selecionou 1&#039; \
                    2 &#039;Selecionou 2&#039; \
            )
            [ $? -ne 0 ] &amp;&amp; break
            case &quot;$grupo&quot; in
                1) janela=selecionou_1 ;;
                2) janela=selecionou_2 ;;
            esac
        ;;

        #####

        selecionou_1)
            anterior=inicial
            selecionou_1=$(
              dialog --stdout               \
                     --title &#039;Acesso SSH&#039;  \
                     --menu &#039;Selecione o Servidor:&#039; \
                    0 0 0                   \
                    1 &#039;IDENTIFICA 1a - LALALA&#039; \
                    2 &#039;IDENTIFICA 1b - LALALA&#039; \
                    3 &#039;IDENTIFICA 1c - LALALA&#039; \
                    0 &#039;Sair&#039; )

            [ $? -ne 0 ] &amp;&amp; janela=$anterio

            case &quot;$selecionou_1&quot; in
                 1) clear; echo &quot;IDENTIFICA 1a&quot;; ssh -p 12345 usuario@10.10.10.10 ;;
                 2) clear; echo &quot;IDENTIFICA 1b&quot;; ssh -p 12345 usuario@10.10.10.10 ;;
                 3) clear; echo &quot;IDENTIFICA 1c&quot;; ssh -p 12345 usuario@10.10.10.10 ;;
                 0) break ;;
            esac
        ;;

       #####

        selecionou_2)
            anterior=inicial
            selecionou_2=$(
              dialog --stdout               \
                     --title &#039;Acesso SSH&#039;  \
                     --menu &#039;Selecione o Servidor:&#039; \
                    0 0 0                   \
                    1 &#039;IDENTIFICA 2a - LALALA&#039; \
                    2 &#039;IDENTIFICA 2b - LALALA&#039; \
                    3 &#039;IDENTIFICA 2c - LALALA&#039; \
                    0 &#039;Sair&#039; )

            [ $? -ne 0 ] &amp;&amp; janela=$anterio

            case &quot;$selecionou_2&quot; in
                 1) clear; echo &quot;IDENTIFICA 2a&quot;; ssh -p 12345 usuario@10.10.10.10 ;;
                 2) clear; echo &quot;IDENTIFICA 2b&quot;;ssh -p 12345 usuario@10.10.10.10 ;;
                 3) clear; echo &quot;IDENTIFICA 2c&quot;;ssh -p 12345 usuario@10.10.10.10 ;;
                 0) break ;;
            esac
        ;;

        #####

        *)
            echo Abortado...
            exit

        #####

    esac

    retorno=$?
    [ $retorno -eq 1   ] &amp;&amp; janela=$anterior   # cancelar
    [ $retorno -eq 255 ] &amp;&amp; break              # Esc

done</pre>
<pre class="remontti-code">$ chmod +x gogo
$ ./gogo
</pre>
<p><a href="https://blog.remontti.com.br/wp-content/uploads/2023/06/gogo1.png" data-rel="lightbox-gallery-ncMT3jnf" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/06/gogo1-300x161.png" alt="" width="300" height="161" class="alignnone size-medium wp-image-7585" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/06/gogo1-300x161.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/06/gogo1-768x411.png 768w, https://blog.remontti.com.br/wp-content/uploads/2023/06/gogo1.png 848w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a> <a href="https://blog.remontti.com.br/wp-content/uploads/2023/06/gogo2.png" data-rel="lightbox-gallery-ncMT3jnf" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/06/gogo2-300x166.png" alt="" width="300" height="166" class="alignnone size-medium wp-image-7584" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/06/gogo2-300x166.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/06/gogo2-768x426.png 768w, https://blog.remontti.com.br/wp-content/uploads/2023/06/gogo2.png 856w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<p>No meu caso utilizo Dropbox como nuvem, salvo meus script lá, então crio uma alias, assim em todos meus desktops ficam sincronizados os mesmo atalhos.<br />
No ZSH</p>
<pre class="remontti-code">$ nano ~/.zshrc</pre>
<p>No Bash</p>
<pre class="remontti-code">$ nano ~/.bashrc</pre>
<p>Adicione </p>
<pre class="remontti-code-plain">alias vaiplaneta=&#039;~/Dropbox/scripts/vaiplaneta&#039;
alias gogo=&#039;~/Dropbox/scripts/gogo&#039;</pre>
<p>Vou deixar aqui um manual para manualzinho do <a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/Dialog.manual.zip">Dialog para download</a>.</p>
<p>Um outro problema que tive foi com alguns equipamentos antigos (KexAlgorithms) algumas OLTs por exemplo, nete caso editei /etc/ssh/ssh_config e fiz as entradas de acordos com os prefixos, como no meu caso todas estão na classe 172.18.0.0/24</p>
<pre class="remontti-code">$ sudo nano /etc/ssh/ssh_config</pre>
<p>Adicionei ao final do arquivo:</p>
<pre class="remontti-code-plain">Host 172.18.0.*
    HostKeyAlgorithms ssh-dss
    KexAlgorithms diffie-hellman-group1-sha1</pre>
<p><strong>CHAVES SSH </strong><br />
Gerando as chaves</p>
<pre class="remontti-code">$ ssh-keygen -t rsa
$ nautilus ~/.ssh</pre>
<p>Salve suas chaves: id_rsa  id_rsa.pub<br />
Para instalar a chave em um servidor use o comando:</p>
<pre class="remontti-code">$ ssh-copy-id -p 22 remontti@xxx.xxx.xxx.xxx</pre>
<p>Se um dia precisar recuperando chaves do backup</p>
<pre class="remontti-code">$ cd /onde/vc/salvou/as/chaves/
$ cp id_rsa* /home/$USER/.ssh
$ chmod 600 /home/$USER/.ssh/id_rsa
$ chmod 644 /home/$USER/.ssh/id_rsa.pub</pre>
<p>Se quiser remover os jogos que vem nele (Gosto só do gnome-chess)</p>
<pre class="remontti-code">$ sudo apt purge \
 gnome-2048 \
 aisleriot \
 atomix \
 gnome-chess \
 five-or-more \
 hitori \
 iagno \
 gnome-klotski \
 lightsoff \
 gnome-mahjongg \
 gnome-mines \
 gnome-nibbles \
 quadrapassel \
 four-in-a-row \
 gnome-robots \
 gnome-sudoku \
 swell-foop \
 tali \
 gnome-taquin \
 gnome-tetravex
$ sudo apt autoremove
</pre>
<p>Uma coisa que estava acostumado era usar o botão Backspace para voltar um diretório, que atualmente é Alt + seta para esqueda. Para contornar isso:</p>
<pre class="remontti-code">$ sudo apt install python3-nautilus
$ nano ~/.local/share/nautilus-python/extensions/BackspaceBack.py</pre>
<p>Adicione:</p>
<pre class="remontti-code-plain"># Nautilus Backspace Back Extension
#
# Place me in ~/.local/share/nautilus-python/extensions/,
# ensure you have python-nautilus package, restrart Nautilus, and enjoy :)
#
# This script was written by molaeiali and is released to the public domain

import os, gi
gi.require_version(&#039;Nautilus&#039;, &#039;4.0&#039;)
from gi.repository import GObject, Nautilus, Gtk, Gio, GLib

def back():
                app = Gtk.Application.get_default()
                if not app.get_actions_for_accel(&quot;BackSpace&quot;):
                        app.set_accels_for_action( &quot;win.up&quot;, [&quot;BackSpace&quot;] )


class BackspaceBack(GObject.GObject, Nautilus.InfoProvider):
                def __init__(self):
                        pass

                def update_file_info(self, file):
                        back()
                        return None

</pre>
<p><strong>Cliente PPPoE</strong><br />
Crie o arquivo de configuração do PPPoE</p>
<pre class="remontti-code">$ sudo vim /etc/ppp/peers/meu-pppoe</pre>
<p>Adicione as linhas alterando eth0 pelo nome da sua interface de rede e user e password</p>
<pre class="remontti-code-plain">
# Interface de rede para a conexão PPPoE
plugin rp-pppoe.so eth0

# Nome de usuário e senha
user &quot;usuario&quot;
password &quot;senha&quot;

# Use o protocolo PAP para autenticação
noauth

# Persiste tentando a conexão em caso de falha
persist

# Use as opções padrão do pppd
usepeerdns
defaultroute

# Configurações para IPv6
+ipv6
ipv6cp-use-ipaddr
ipv6cp-accept-local
ipv6cp-accept-remote
</pre>
<p>Conectar PPPoE (Não esqueça de desativar a conexão cabeada pois ela vence o pppoe)</p>
<pre class="remontti-code">$ sudo pon meu-pppoe</pre>
<p>Para desativar a conexão PPPoE</p>
<pre class="remontti-code">$ sudo poff meu-pppoe</pre>
<h4>Firewall</h4>
<p>Para quem sai com seu computador por ai, que tal deixar um firewall de verdade!</p>
<pre class="remontti-code">$ sudo vim /etc/nftables.conf</pre>
<p>Ajuste para:</p>
<pre class="remontti-code-plain">
#!/usr/sbin/nft -f
flush ruleset

table inet filter {

    set ALLOWED_MACS {
        type ether_addr
        elements = {
            00:11:22:33:44:AA,
            00:11:22:33:44:BB,
        }
    }
    chain input {
        type filter hook input priority 0; policy drop;
        iif lo accept
        ct state established,related accept

        # Mikrotik Neigbor
        udp dport 5678 ct state new accept
        # Mikrotik permite os MAC
        meta l4proto udp meta pkttype { unicast } ether saddr @ALLOWED_MACS accept
    }
    chain forward {
        type filter hook forward priority 0;
    }
    chain output {
        type filter hook output priority 0;
    }
}</pre>
<p>Se você utiliza mikrotik, para que o Neigbor funcione precisa liberar a porta 5678 udp, e cadastrar os MAC do dispositivo que ira acessar (eu falei firewall de verdade!)</p>
<pre class="remontti-code">$ sudo systemctl enable nftables
$ sudo systemctl restart nftables</pre>
<p>Formata esse Windows ai p***** <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f600.png" alt="😀" class="wp-smiley" style="height: 1em; max-height: 1em;" /><br />
Abraço!</p>
<p><strong>Gostou? Se quiser apoiar o blog e fazer uma doação para o café ficarei muito feliz pelo seu reconhecimento!</strong><br />
<a href="https://blog.remontti.com.br/doar"><img decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/07/quero-doar-remontti.png" /></a></p>
<p>O post <a href="https://blog.remontti.com.br/7512">Um pouco do meu ambiente de trabalho com Debian 12 Bookworm e Gnome 43</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.remontti.com.br/7512/feed</wfw:commentRss>
			<slash:comments>20</slash:comments>
		
		
			</item>
		<item>
		<title>Aprenda a instalar um dos melhores Looking Glasses de código aberto: o Hyperglass</title>
		<link>https://blog.remontti.com.br/7201</link>
					<comments>https://blog.remontti.com.br/7201#comments</comments>
		
		<dc:creator><![CDATA[Rudimar Remontti]]></dc:creator>
		<pubDate>Thu, 30 Mar 2023 13:56:07 +0000</pubDate>
				<category><![CDATA[Huawei]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mikrotik]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[Arista EOS]]></category>
		<category><![CDATA[BGP AS Path]]></category>
		<category><![CDATA[BGP Community]]></category>
		<category><![CDATA[BIRD]]></category>
		<category><![CDATA[Cisco IOS-XR]]></category>
		<category><![CDATA[Cisco IOS/IOS-XE]]></category>
		<category><![CDATA[Cisco NX-OS]]></category>
		<category><![CDATA[Código Aberto]]></category>
		<category><![CDATA[debian 11]]></category>
		<category><![CDATA[frrouting]]></category>
		<category><![CDATA[Hyperglass]]></category>
		<category><![CDATA[Juniper JunOS]]></category>
		<category><![CDATA[looking glass]]></category>
		<category><![CDATA[Nokia SR OS]]></category>
		<category><![CDATA[Personalização]]></category>
		<category><![CDATA[ping]]></category>
		<category><![CDATA[Rota BGP]]></category>
		<category><![CDATA[TNSR]]></category>
		<category><![CDATA[Traceroute]]></category>
		<category><![CDATA[VyOS]]></category>
		<guid isPermaLink="false">https://blog.remontti.com.br/?p=7201</guid>

					<description><![CDATA[<p>O que é o Hyperglass O hyperglass é um espelho de rede de código aberto escrito por um engenheiro de rede para outros engenheiros de rede. O objetivo de um espelho é fornecer aos&#46;&#46;&#46;</p>
<p>O post <a href="https://blog.remontti.com.br/7201">Aprenda a instalar um dos melhores Looking Glasses de código aberto: o Hyperglass</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass.jpg" alt="" width="720" height="340" class="size-full wp-image-7229" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass.jpg 720w, https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass-300x142.jpg 300w, https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass-520x245.jpg 520w" sizes="auto, (max-width: 720px) 100vw, 720px" /></p>
<h3>O que é o <a href="https://hyperglass.dev/docs/introduction" rel="noopener" target="_blank">Hyperglass</a></h3>
<p>O hyperglass é um espelho de rede de código aberto escrito por um engenheiro de rede para outros engenheiros de rede. O objetivo de um espelho é fornecer aos clientes, colegas e completos estranhos uma visibilidade autônoma da rede de uma operadora. A hyperglass foi criada com o grande objetivo de beneficiar a comunidade da Internet em geral, fornecendo uma maneira mais rápida, fácil e segura para as operadoras fornecerem serviços de espelhos a seus clientes, colegas e outras operadoras de rede.</p>
<p><strong>Recursos:</strong><br />
 &#8211; Rota BGP<br />
 &#8211; BGP Community<br />
 &#8211; BGP AS Path<br />
 &#8211; Ping<br />
 &#8211; Traceroute</p>
<p><strong>Suporte para: </strong><br />
 &#8211; Arista EOS<br />
 &#8211; BIRD<br />
 &#8211; Cisco IOS-XR<br />
 &#8211; Cisco IOS/IOS-XE<br />
 &#8211; Cisco NX-OS<br />
 &#8211; FRRouting<br />
 &#8211; Huawei<br />
 &#8211; Juniper JunOS<br />
 &#8211; Mikrotik<br />
 &#8211; Nokia SR OS<br />
 &#8211; TNSR<br />
 &#8211; VyOS</p>
<p>Personalização recursos, tema, texto da UI/API, mensagens de erro e comandos.</p>
<p>Ao decorrer do tutorial irei deixar todos os links com referencia a documentação <a href="https://hyperglass.dev/docs/" rel="noopener" target="_blank">https://hyperglass.dev/docs/</a>, pois o mesmo tem muita possibilidades.</p>
<h4>Notas e agradecimento</h4>
<p>O hyperglass é tem sua principal base desenvolvida em Python e está disponível no github.com por <a href="https://github.com/thatmattlove" rel="noopener" target="_blank">thatmattlove</a>, no entanto conta com um grupo no <a href="https://t.me/hyperglasslg" rel="noopener" target="_blank">telegram</a> onde encontrei algumas soluções para huawei, meu conhecimento em Python é limitado (ainda), mas criei meu próprio <a href="https://github.com/remontti/hyperglass" rel="noopener" target="_blank">fork</a> do projeto, e realizei <a href="https://github.com/remontti/hyperglass/commits/main" rel="noopener" target="_blank">algumas alterações</a>. Deixar aqui uma agradecimento a <a href="https://github.com/thatmattlove/hyperglass/compare/main...eaitelecomunicacoes:hyperglass:add_huawei_support" rel="noopener" target="_blank">eaitelecomunicacoes</a> onde encontrei uma contribuição que me ajudou muito. Contamos com ajuda de todos para tornar o projeto algo ainda melhor! Se tiver melhorias nao deixe de realizar um <a href="https://github.com/remontti/hyperglass/pulls" rel="noopener" target="_blank">Pull requests</a>.</p>
<h4>Distribuição Linux</h4>
<p>Todos meus testes foram realizando em cima do Debian 11<br />
&#8211; <strong><a href="https://blog.remontti.com.br/5792" rel="noopener" target="_blank">Instalação do Debian 11 Bullseye limpa passo-a-passo</a></strong></p>
<p>Acesse seu servidor e se torne root da forma correta:</p>
<pre class="remontti-code"># su -</pre>
<h4>Pacotes necessários</h4>
<pre class="remontti-code"># apt install -y python3-dev python3-pip python3-pil python3-pil.imagetk\
 python3-libtiff python3-glymur libtiff-dev libfreetype-dev liblcms2-2\
 liblcms2-utils libwebp-dev libboost-dev libimagequant-dev libraqm-dev\
 libjpeg-dev wget unzip zip git curl gnupg2</pre>
<h4>Script de instalação</h4>
<pre class="remontti-code"># cd /tmp
# wget https://raw.githubusercontent.com/remontti/hyperglass/main/install.sh
# bash install.sh</pre>
<p>Ao finalize execute o comando hyperglass &#8211;help para ver se a instalação esta funcionando.</p>
<pre class="remontti-code"># hyperglass --help</pre>
<pre class="remontti-code-plain">
Usage: hyperglass [OPTIONS] COMMAND [ARGS]...

   hyperglass Command Line Interface

Options:
   -v, --version  <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f522.png" alt="🔢" class="wp-smiley" style="height: 1em; max-height: 1em;" /> hyperglass version
   -h, --help     <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f64f.png" alt="🙏" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Show this help message

Commands:
   build-ui     <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f98b.png" alt="🦋" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Create a new UI build
   clear-cache  <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9fc.png" alt="🧼" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Clear the Redis cache
   secret       <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f512.png" alt="🔒" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Generate agent secret
   setup        <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9f0.png" alt="🧰" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Run the setup wizard
   start        <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f680.png" alt="🚀" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Start web server
   system-info  <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f321.png" alt="🌡" class="wp-smiley" style="height: 1em; max-height: 1em;" />  Get system information for a bug report</pre>
<h3>Configurando hyperglass</h3>
<pre class="remontti-code"># hyperglass setup</pre>
<p>Vamos definir o diretório de configurações, selecione com a seta para baixo <strong>/etc/hyperglass</strong></p>
<pre class="remontti-code-plain">[?] Choose a directory for hyperglass: /etc/hyperglass
   /root/hyperglass
 &gt; /etc/hyperglass</pre>
<p>Antes de deixar você chanar no <strong>erro webpack</strong>:</p>
<pre class="remontti-code-plain">
[ERROR] 20230330 10:02:32 | hyperglass.util.frontend:401 | build_frontend → 
Messages:
info  - Using webpack 5. Reason: future.webpack5 option enabled https://nextjs.org/docs/messages/webpack5</pre>
<p>Vamos a solução localize `webpack5: true,` e altere para `webpack5: false,`</p>
<pre class="remontti-code"># sed -i &#039;s/webpack5: true,/webpack5: false,/g&#039; /usr/local/lib/python3.9/dist-packages/hyperglass/ui/next.config.js</pre>
<h4>Parâmetros de configuração</h4>
<p>Crie o arquivo /etc/hyperglass/hyperglass.yaml</p>
<pre class="remontti-code"># vim /etc/hyperglass/hyperglass.yaml</pre>
<p>Ajuste suas informações. <a href="https://hyperglass.dev/docs/parameters" rel="noopener" target="_blank">Doc</a>.</p>
<pre class="remontti-code-plain">
# https://hyperglass.dev/docs/parameters
debug: false
developer_mode: false
org_name: Remontti Telecom
primary_asn: 12345
site_title: Looking Glass Remontti
site_description: &quot;{org_name} Network Looking Glass&quot;
site_keywords: [hyperglass, looking glass, routing, bgp]
request_timeout: 30
listen_address: &quot;172.18.18.79&quot;  # IP que ira startar o serviço
listen_port: 80  # Porta do servico
#
# https://hyperglass.dev/docs/response-caching
cache:
  database: 0
  host: localhost
  port: 6379
  show_text: true
  timeout: 120
#
# https://hyperglass.dev/docs/messages/
messages:
  acl_denied: &quot;{target} is a member of {denied_network}, which is not allowed.&quot;
  acl_not_allowed: &quot;{target} is not allowed.&quot;
  authentication_error: Authentication error occurred.
  connection_error: &quot;Error connecting to {device_name}: {error}&quot;
  feature_not_enabled: &quot;{feature} is not enabled for {device_name}.&quot;
  general: Something went wrong.
  invalid_field: &quot;{input} is an invalid {field}.&quot;
  invalid_input: &quot;{target} is not a valid {query_type} target.&quot;
  no_input: &quot;{field} must be specified.&quot;
  no_output: The query completed, but no matching results were found.
  no_response: No response.
  parsing_error: An error occurred while parsing the query output.
  request_timeout: Request timed out.
  vrf_not_associated: VRF {vrf_name} is not associated with {device_name}.
  vrf_not_found: VRF {vrf_name} is not defined.
#
# https://hyperglass.dev/docs/logging/ (/var/log/hyperglass.log)
logging:
  directory: /var/log
  format: text
  max_size: 50 MB
#
# https://hyperglass.dev/docs/query-settings/
queries:
  bgp_route:
    display_name: BGP Route
    enable: true
  bgp_community:
    #Huwei modo structured não fuciona
    display_name: BGP Community
    enable: false
    mode: select
    communities:
      - community: 12345:666
        display_name: Blackhole
        description: 12345:666
  bgp_aspath:
    #Huwei modo structured não fuciona
    display_name: BGP AS Path
    enable: false
    pattern:
      asdot: &#039;^(\^|^\_)((\d+\.\d+)\_|(\d+\.\d+)\$|(\d+\.\d+)\(\_\.\+\_\))+$&#039;
      asplain: &#039;^(\^|^\_)(\d+\_|\d+\$|\d+\(\_\.\+\_\))+$&#039;
      mode: asplain
  ping:
    display_name: Ping
    enable: true
  traceroute:
    display_name: Traceroute
    enable: true
    #
# https://hyperglass.dev/docs/table-output/
structured:
  rpki:
    mode: external

#  communities:
#    #Para não exibir nenhuma communities    
#    mode: deny

#  communities:
#    # Para permitir apenas...
#    mode: permit
#    items:
#      - &#039;65000:\d+&#039;
#      - &#039;65[1-4]00:\d+&#039;

# https://hyperglass.dev/docs/ui/configuration/
web:
  links:
    - title: PeeringDB
      url: https://www.peeringdb.com/asn/12345
      side: left
      order: 1
    - title: Qrator
      url: https://radar.qrator.net/AS12345
      side: left
      order: 2
    - title: RADb
      url: https://www.radb.net/query?advanced_query=&amp;keywords=AS12345
      side: left
      order: 3
    - title: IRR Explorer
      url: https://irrexplorer.nlnog.net/asn/AS12345
      side: left
      order: 4
    - title: RDAP
      url: https://rdap.registro.br/autnum/12345
      side: left
      order: 5    
    - title: Remontti
      url: https://www.remontti.com.br
      side: right
      order: 0
  menus:
    - title: Contato
      content: &quot;Please contact [noc@remontti.com.br](mailto:noc@remontti.com.br) to get support.&quot;
      side: right
    - title: Termos e Condições
      content: /etc/hyperglass/terms-and-conditions.md
      side: right
  # https://hyperglass.dev/docs/ui/logo
  logo:
    dark: /etc/hyperglass/static/images/hyperglass-dark.svg
    light: /etc/hyperglass/static/images/hyperglass-light.svg
    favicon: /etc/hyperglass/static/images/hyperglass-icon.svg
    height: null
    width: 100%
  # https://hyperglass.dev/docs/ui/text
  text:
    cache_icon: Cached from {time} UTC
    cache_prefix: &quot;Results cached for &quot;
    complete_time: Completed in {seconds}
    fqdn_error: Unable to resolve {fqdn}
    fqdn_error_button: Try Again
    fqdn_message: Your browser has resolved {fqdn} to
    fqdn_tooltip: Use {protocol}
    no_communities: No Communities
    query_location: Location
    query_target: Target
    query_type: Query Type
    query_vrf: Routing Table
    rpki_invalid: Invalid
    rpki_unknown: No ROAs Exist
    rpki_unverified: Not Verified
    rpki_valid: Valid
    subtitle: Network Looking Glass
    title: hyperglass
    title_mode: logo_subtitle
  # https://hyperglass.dev/docs/ui/theme
  # https://hyperglass.dev/docs/ui/example</pre>
<h4>Adicionando Dispositivos</h4>
<p>Para adicionar seus dispositivos para cunsultas LG, crie o arquivo /etc/hyperglass/devices.yaml. Vou deixar um exemplo básico para Huawei, Mikrotik e comando personalizados com Linux. <a href="https://hyperglass.dev/docs/adding-devices" rel="noopener" target="_blank">Docs</a>  </p>
<pre class="remontti-code"># vim /etc/hyperglass/devices.yaml</pre>
<p>Adicione de acordo suas configurações</p>
<pre class="remontti-code-plain">
# https://hyperglass.dev/docs/adding-devices
routers:
  - name: AS12345 Remontti
    address: 10.50.50.25
    network:
      name: as12345
      display_name: Huawei
    credential:
      username: lookingglass
      password: supersenha
    port: 22
    nos: huawei
    vrfs:
      - name: global
        default: true
        ipv4:
          source_address: 200.200.200.200
          access_list:
            - network: 10.0.0.0/8
              action: deny
            - network: 192.168.0.0/16
              action: deny
            - network: 100.64.0.0/10
              action: deny
            - network: 172.16.0.0/12
              action: deny
            - network: 0.0.0.0/0
              action: permit
              ge: 8
              le: 32
        ipv6:
          source_address: 2000:2000:1::1
          access_list:
            - network: ::/0
              action: permit
              ge: 32
              le: 128

  - name: Mkzao Remontti
    address: 172.18.18.1
    network:
      name: routerosrr
      display_name: Mikrotik
    credential:
      username: usuario
      password: senha
    port: 22
    nos: mikrotik_routeros
    vrfs:
      - name: global
        default: true
        ipv4:
          source_address: 172.18.18.1
        ipv6:
          source_address: 2001:db8::2

  - name: Localhost Hyperglass
    address: 127.0.0.1
    network:
      name: test1
      display_name: Linux
    credential:
      username: usuario
      password: senha
    nos: linux
    commands: linux_comando_personlizado
    vrfs:
      - name: global
        default: true
        ipv4:
          source_address: 192.168.0.5
        ipv6:
          source_address: 2001:db8:bebe:cafe:5</pre>
<h4>Comandos personalizados</h4>
<pre class="remontti-code"># vim /etc/hyperglass/commands.yaml</pre>
<p>Acima adicionei um device linux, qual temos <a href="https://hyperglass.dev/docs/commands" rel="noopener" target="_blank">comandos personalizado</a>, segue um exemplo de como seria. Crie o arquivo /etc/hyperglass/commands.yaml</p>
<pre class="remontti-code-plain">#https://hyperglass.dev/docs/commands
linux_comando_personlizado:
  ipv4_default:
    bgp_route: &#039;echo bgp_route &quot;{target}&quot;&#039;
    bgp_aspath: &#039;echo bgp_aspath &quot;{target}&quot;&#039;
    bgp_community: &#039;echo bgp_community &quot;{target}&quot;&#039;
    ping: &#039;ping -c 4 &quot;{target}&quot;&#039;
    traceroute: &#039;traceroute -n &quot;{target}&quot;&#039;
  ipv6_default:
    bgp_route: &#039;echo &quot;{target}&quot;&#039;
    bgp_aspath: &#039;echo &quot;{target}&quot;&#039;
    bgp_community: &#039;echo &quot;{target}&quot;&#039;
    ping: &#039;echo &quot;{target}&quot;&#039;
    traceroute: &#039;echo &quot;{target}&quot;&#039;
  ipv4_vpn:
    bgp_route: &#039;echo &quot;{vrf} {target}&quot;&#039;
    bgp_aspath: &#039;echo &quot;{vrf} {target}&quot;&#039;
    bgp_community: &#039;echo &quot;{vrf} {target}&quot;&#039;
    ping: &#039;echo &quot;{vrf} {target}&quot;&#039;
    traceroute: &#039;echo &quot;{vrf} {target}&quot;&#039;
  ipv6_vpn:
    bgp_route: &#039;echo &quot;{vrf} {target}&quot;&#039;
    bgp_aspath: &#039;echo &quot;{vrf} {target}&quot;&#039;
    bgp_community: &#039;echo &quot;{vrf} {target}&quot;&#039;
    ping: &#039;echo &quot;{vrf} {target}&quot;&#039;
    traceroute: &#039;echo &quot;{vrf} {target}&quot;&#039;</pre>
<p>Crie um arquivo para seis termos:</p>
<pre class="remontti-code"># vim /etc/hyperglass/terms-and-conditions.md</pre>
<p>Descreva de acordo suas políticas.</p>
<pre class="remontti-code-plain">Ao usar {site_title}, você concorda em cumprir os seguintes termos de uso:

Todas as consultas executadas nesta página são registradas para análise e solução de problemas. 
Os usuários estão proibidos de automatizar consultas ou tentar processar consultas em massa. Este serviço é fornecido com base no melhor esforço, e {org_name} não oferece garantias ou garantias de disponibilidade ou desempenho.</pre>
<p>Agora vamos a construção da interface do usuário. o Comando a baixo pode levar uns minutinho.</p>
<pre class="remontti-code"># cd /etc/hyperglass/
# hyperglass build-ui</pre>
<p>Aguarde até ter a resposta:</p>
<pre class="remontti-code-plain">[SUCCESS] 20230329 21:36:48 | hyperglass.util.frontend:386 | build_frontend → Completed UI build
<img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Completed UI build in production mode</pre>
<h4>Iniciando o serviço</h4>
<p>Poderíamos iniciar com o comando `hyperglass start`, mas vamos criar um serviço no linux para fazer esse trabalho, para deixar até mesmo automatizado durante o boot. para isso irei criar uma pasta /etc/hyperglass/service/ onde irei criar nosso serviço.</p>
<pre class="remontti-code"># mkdir /etc/hyperglass/service/
# vim /etc/hyperglass/service/hyperglass.service</pre>
<p>Agora vamos instruir o que deve ser feito.</p>
<pre class="remontti-code-plain">
[Unit]
Description=hyperglass
After=network.target
Requires=redis-server.service

[Service]
User=root
Group=root
ExecStart=/usr/local/bin/hyperglass start
ExecStop=/usr/bin/pkill -f hyperglass

TimeoutStartSec=120
TimeoutStopSec=300

[Install]
WantedBy=multi-user.target</pre>
<p>Vamos cria um apontamento, recarecar nosso daemon, dar um enable para deixar iniciando com o boot, em seguida vamos iniciar o serviço.</p>
<pre class="remontti-code"># ln -s /etc/hyperglass/service/hyperglass.service /etc/systemd/system/hyperglass.service
# systemctl daemon-reload
# systemctl enable hyperglass 
# systemctl start hyperglass
# systemctl status hyperglass</pre>
<p>Pode levar um minutinho até iniciar, você pode acompanhar os logs.</p>
<pre class="remontti-code"># tail -f /var/log/hyperglass.log</pre>
<p>Quando aparecer a mensagem a baixo você pode acessar em seu navegador:</p>
<pre class="remontti-code-plain">
...Started hyperglass 1.0.4 on http://SEUIP:PORTA with 6 workers</pre>
<p>Pode verificar também as portas que estão sendo ouvidas.</p>
<pre class="remontti-code"># ss -putan  | grep LISTEN | grep hyperglass</pre>
<p>Acesse me seu navegador http://SEUIP:PORTA</p>
<p><a href="https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_0.png" data-rel="lightbox-gallery-cJZywDLT" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_0.png" alt="" width="1773" height="773" class="alignnone size-full wp-image-7215" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_0.png 1773w, https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_0-300x131.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_0-1024x446.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_0-768x335.png 768w, https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_0-1536x670.png 1536w" sizes="auto, (max-width: 1773px) 100vw, 1773px" /></a></p>
<h3>Bonus: Proxy Nginx + Https</h3>
<p>É bem comum querer executar o hyperglass em outra porta e somente para localhost, e criar um proxy para acesso web bem como ativar suporte https para sua página, pois em alguns casos ele pode esta rodando junto com outros serviços sem problema algum. Não é necessário ter uma &#8220;VM&#8221; só para isso. Vamos ao exemplo</p>
<pre class="remontti-code"># vim /etc/hyperglass/hyperglass.yaml</pre>
<p>Altere o IP em <strong>listen_address</strong> para nosso endereço da loopback <strong>127.0.0.1</strong> e defina outra porta <strong>listen_port</strong> que ira rodar o serviço, no meu caso vou usar <strong>58000</strong></p>
<pre class="remontti-code-plain">listen_address: &quot;127.0.0.1&quot;
listen_port: 58000</pre>
<p>Reinicie o hyperglass</p>
<pre class="remontti-code">systemctl restart hyperglass</pre>
<p><strong>Instale o Nxgix</strong></p>
<pre class="remontti-code"># apt install nginx
# sed -i &#039;s/# server_tokens/server_tokens/&#039; /etc/nginx/nginx.conf</pre>
<p>Em alguns caso recomendo deletar as conf padrões, caso tiver problemas.</p>
<pre class="remontti-code"># rm /etc/nginx/sites-enabled/default</pre>
<p>Crie um arquivo de configuração o nginx criar um proxy do nosso hyperglass</p>
<pre class="remontti-code"># vim /etc/nginx/sites-available/hyperglass.conf</pre>
<p>Adicione</p>
<pre class="remontti-code-plain">
server {
  listen 80;
  listen [::]:80;
  server_name lg.remontti.com.br;
  #server_name _;

  # Descomente para deixar restrito apenas para determinados prefixos ou IPs.
  #allow  192.168.87.0/24;
  #allow  127.0.0.1;
  #allow  2001:0db8::/32;
  #allow  ::1;
  #deny   all;
  #error_page  403   http://www.remontti.com.br;

  client_max_body_size 2M;
  root /etc/hyperglass/static;

  location / {
    try_files $uri $uri/ /ui /ui/$uri =404;
    index /ui/index.html;
  }

  location /openapi.json {
      try_files $uri @proxy_to_app;
  }

  location /custom/ {
      try_files $uri $uri/ /custom;
  }

  location /images/ {
      try_files $uri $uri/ /images;
  }

  location /api {
      try_files $uri @proxy_to_app;
  }

  location @proxy_to_app {
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header Host $http_host;
    proxy_redirect off;
    proxy_pass http://127.0.0.1:58000;
  }
}</pre>
<p>Link o arquivo no diretório /etc/nginx/sites-enabled qual será carregado ao iniciar o nginx, em seguira reinicie o serviço do nginx.</p>
<pre class="remontti-code"># ln -s /etc/nginx/sites-available/hyperglass.conf /etc/nginx/sites-enabled/hyperglass.conf
# systemctl restart nginx</pre>
<p>Agora você já pode acessar seu hyperglass através do nginx.</p>
<h4>Criando certificado</h4>
<p>Ao executar o <strong>Certbot</strong> instalado via apt tive alguns erros do python, acredito que conflitou alguma coisa com o hyperglass, (como meu tempo é bem curto inclusive para esta escrevendo aqui) realizei a instalação via <strong>snap</strong> qual resolveu meu problema.<br />
Segue a instalação do snap:</p>
<pre class="remontti-code"># apt install snapd
# snap install core</pre>
<p>Instale o certbot via snap, crie um link em nossos binários, em seguida execute ele. </p>
<pre class="remontti-code"># snap install --classic certbot
# ln -s /snap/bin/certbot /usr/bin/certbot
# certbot</pre>
<p>Informe os dados, ao finalizar o mesmo irá já ajustar seu arquivo do nginx, e basta acessar seu domínio.</p>
<p>Não esqueça que a cada 90 dias o certificado expira, então crie uma rotina para renovação, você pode adicionar ao cron agendando por exemplo para todo dia primeiro tentar renovar.</p>
<pre class="remontti-code"># echo &#039;00 00   1 * *   root     certbot renew -q&#039; &gt;&gt; /etc/crontab
# systemctl restart cron</pre>
<p><strong>Parabéns você finalizou! Se quiser fazer uma doação para o café ficarei muito feliz pelo seu reconhecimento!</strong><br />
<a href="https://blog.remontti.com.br/doar"><img decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/07/quero-doar-remontti.png" /></a></p>
<p>Se não puder doar pode deixar seu agradecimento nos comentário também ficarei feliz em saber que ajudei. Se tiver qualquer pergunta deixe-a também. Se preferir entrar em Contato <a href="https://blog.remontti.com.br/meucontato" rel="noopener noreferrer" target="_blank">clique aqui.</a></p>
<h4>Prints</h4>
<p><a href="https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_0.png" data-rel="lightbox-gallery-cJZywDLT" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_0-300x131.png" alt="" width="300" height="131" class="alignnone size-medium wp-image-7215" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_0-300x131.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_0-1024x446.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_0-768x335.png 768w, https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_0-1536x670.png 1536w, https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_0.png 1773w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a> <a href="https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_1.png" data-rel="lightbox-gallery-cJZywDLT" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_1-300x141.png" alt="" width="300" height="141" class="alignnone size-medium wp-image-7216" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_1-300x141.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_1-1024x482.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_1-768x362.png 768w, https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_1-1536x723.png 1536w, https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_1-520x245.png 520w, https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_1-720x340.png 720w, https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_1.png 1773w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a> <a href="https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_3.png" data-rel="lightbox-gallery-cJZywDLT" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_3-300x131.png" alt="" width="300" height="131" class="alignnone size-medium wp-image-7214" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_3-300x131.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_3-1024x446.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_3-768x335.png 768w, https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_3-1536x670.png 1536w, https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_3.png 1773w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a> <a href="https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_4.png" data-rel="lightbox-gallery-cJZywDLT" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_4-300x137.png" alt="" width="300" height="137" class="alignnone size-medium wp-image-7213" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_4-300x137.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_4-1024x468.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_4-768x351.png 768w, https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_4-1536x702.png 1536w, https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_4-980x450.png 980w, https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_4.png 1773w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a> <a href="https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_2.png" data-rel="lightbox-gallery-cJZywDLT" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_2-300x131.png" alt="" width="300" height="131" class="alignnone size-medium wp-image-7211" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_2-300x131.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_2-1024x446.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_2-768x335.png 768w, https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_2-1536x670.png 1536w, https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_2.png 1773w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a> <a href="https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_5.png" data-rel="lightbox-gallery-cJZywDLT" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_5-300x216.png" alt="" width="300" height="216" class="alignnone size-medium wp-image-7210" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_5-300x216.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_5-1024x737.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_5-768x553.png 768w, https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_5-1536x1105.png 1536w, https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_5.png 1773w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a> <a href="https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_1_1.png" data-rel="lightbox-gallery-cJZywDLT" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_1_1-300x131.png" alt="" width="300" height="131" class="alignnone size-medium wp-image-7212" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_1_1-300x131.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_1_1-1024x446.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_1_1-768x335.png 768w, https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_1_1-1536x670.png 1536w, https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_1_1.png 1773w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<p>Abraço!</p>
<p><strong>Fontes:</strong><br />
<a href="https://hyperglass.dev/" rel="noopener" target="_blank">https://hyperglass.dev/</a><br />
<a href="https://hyperglass.dev/docs/" rel="noopener" target="_blank">https://hyperglass.dev/docs/</a></p>
<p>O post <a href="https://blog.remontti.com.br/7201">Aprenda a instalar um dos melhores Looking Glasses de código aberto: o Hyperglass</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.remontti.com.br/7201/feed</wfw:commentRss>
			<slash:comments>17</slash:comments>
		
		
			</item>
	</channel>
</rss>
