Como criar um Bloqueio de Tela no i3 ou bspwm

Existem diversos bloqueadores, mas nesse caso vamos utilizar um específico e bem conhecido pela galera.

Como criar um Bloqueio Tela no i3 ou bspwm

Existem diversos bloqueadores, mas nesse caso vamos utilizar um específico e bem conhecido pela galera que é o i3lock-color, nesse caso o do PandorasFox, mas no final vamos citar outros pra você pesquisar.

Instalação

Vamos compilar o i3lock-color , mas como envolve diversas dependências, então sugiro você instalar o i3lock , pois o i3lock-color é um fork do i3lock , então todas as dependências serão instaladas via seu gerenciador de pacotes, logo ficará mais fácil.

Lembrando que ainda vamos instalar o xdpyinfo , para evitar falta se houver. Alguns repositórios não incluem ele e pode ser que precisamos em alguns outros casos.

No meu caso no Gentoo utilizo o Portage:

emerge i3lock xdpyinfo

Após instalados agora vamos clonar e compilar o i3lock-color:

git clone https://github.com/PandorasFox/i3lock-color.git
cd i3lock-color
autoreconf -i && ./configure && make

Após construir o binário que ficará pronto no no caminho: ./x86_64-pc-linux-gnu/i3lock , você pode instalar com sudo make install , mas isso irá sobrescrever o i3lock original instalado. Então, sugiro que você faça como eu fiz e como o tutorial irá seguir, instale assim:

sudo mv ./x86_64-pc-linux-gnu/i3lock /usr/local/bin/i3lock-color

Ou seja, movemos renomeando, logo temos o i3lock e o i3lock-color!

Se você rodar eles puramente agora, a tela já bloqueia , mas não ficará tão legal, ficará branca e pra desbloquear é só inserir sua senha e pronto.

Mas vamos fazer customizado que fica igual a imagem de chamada desse post. Se sua variável PATH não tiver o o diretório ~/.local/bin inclusa nela, sugiro que inclua, se não souber é porque não está. E para incluir rode esses comandos na ordem (nesse caso é pra quem usa BASH):

mkdir -p ~/.local/bin
mkdir -p ~/.config/i3lock
wget -q http://bit.ly/wallpapertr -O ~/.config/i3lock/wallpaper.jpg
echo 'PATH="${PATH}:$HOME/.local/bin/"' >> ~/.bashrc
source ~/.bashrc

Agora vamos criar um comando dentro do novo local da PATH . Crie e abra um arquivo com o nome vim ~/.local/bin/lockscreen e insira esse conteúdo:

#!/bin/sh

# notify-send --expire-time=3000 --icon=changes-allow "Bloqueando a Tela" "LockScreen rodando"
B='#00000000'  # blank
C='#ffffff22'  # clear ish
D='#f1f1f1cc'  # default
T='#FFFFFFFF'  # text
W='#73d216bb'  # wrong
V='#FFFFFFFF'  # verifying

#./x86_64-pc-linux-gnu/i3lock \
i3lock-color \
-i ~/.config/i3lock/wallpaper.jpg \
--insidevercolor=$C   \
--ringvercolor=$V     \
\
--insidewrongcolor=$C \
--ringwrongcolor=$W   \
\
--insidecolor=$B      \
--ringcolor=$D        \
--linecolor=$B        \
--separatorcolor=$D   \
\
--verifcolor=$T        \
--wrongcolor=$T        \
--timecolor=$T        \
--datecolor=$T        \
--layoutcolor=$T      \
--keyhlcolor=$W       \
--bshlcolor=$W        \
\
--screen 1            \
--blur 5              \
--clock               \
--indicator           \
--timestr="%H:%M:%S"  \
--datestr="%A, %m %Y" \
--keylayout 2  2>/dev/null    \

Customize o arquivo acima com as cores que deseja, mas note que as cores possuem 8 algarismos em vez de 6 para as cores Hexadecimais. Note que há um caminho da imagem e vamos precisar salvar uma imagem naquele diretório com o nome e extensão iguais. E dê permissão de execução: chmod +x ~/.local/bin/lockscreen

Se quiser que bloquei com a imagem de fundo que você está remova essa linha, ou até mesmo insira a imagem que deseja.

Nesse caso o bloqueio será com essa imagem: http://bit.ly/wallpapertr

Tudo pronto agora rode o comando: lockscreen e pra desbloquear use sua senha, não precisa pressionar ENTER antes, basta inserir a senha.

Se o comando não rodar, feche a abra o terminal, ou rode o source ~/.bashrc novamente.

Inserindo no seu i3 ou bspwm

Edite seu ~/.config/i3/config ou o seu ~/.config/sxhkd/sxhkdrc e crie um comando de bloqueio, exemplos para o bspwm, vim ~/.config/sxhkd/sxhkdrc

Nesse caso a combinação de tecla: Super + X irá bloquear a tela.

super + x
	$HOME/.local/bin/lockscreen

Se quiser descomente a linha do notify-send ( notify-send --expire-time=3000 --icon=changes-allow "Bloqueando a Tela" "LockScreen rodando" ), se você tiver o dunst instalado, para mais informações veja esse vídeo:

Monitorando a Bateria do Notebook via Shell Script no i3, bspwm ou outros

Reinicie o bspwm

Para o i3 insira/crie essa linha no vim ~/.config/i3/config

bindsym $mod+x exec lockscreen

Reinicie o i3.

O resultado será similar ou igual ao da imagem do início desse artigo. Fácil, né não ? Sugiro você conhecer outras alternativas e customizar suas opções se quiser que fique mais com sua cara!

Se quiser customizar sua imagem com blur e/ou dim , você pode usar o ImageMagick ou o GIMP, exemplo para o ImageMagick:

convert -blur 0x30 sua-imagem.jpg com-blur.jpg

Outras opções ou complementares:

Mais em https://wiki.archlinux.org/index.php/List_of_applications#Screen_lockers

Espero que tenham gostado! Ajude compartilhando esse artigo!

Abraços!

Compartilhe

Marcos Oliveira

Autor
Marcos Oliveira
Desenvolvedor de Software
youtube.com/TerminalRootTV

Pacote Promocional com Todos os Cursos

Adquira todos os cursos para se tornar um ninja do Terminal e do Linux.

Artigos Relacionados



Comentários