quinta-feira, 10 de maio de 2018

Instalando o desktop Openbox no Slackware 14.2

Nesta dica, foi feita uma instalação personalizada do Slackware sem os desktop Kde e Xfce para posterior instalação do Openbox que é um window manager bem leve, mas para deixar com um estilo bem próximo de um ambiente freedesktop e usabilidade fácil devemos também instalar algumas aplicações essenciais, alertando que o procedimento abaixo deve ser feito somente para usuários mais experientes caso você não tiver nenhum outro desktop instalado e funcionando atualmente diferente do openbox já que deverá fazer diversas configurações para openbox, tint2, e outros arquivos do Slackware o qual não entrarei em detalhes de todas elas nem do procedimento da instalação personalizada  e configuração do Slackware.

No console logrado como root

# wget https://github.com/sbopkg/sbopkg/releases/download/0.38.1/sbopkg-0.38.1-noarch-1_wsr.tgz

# installpkg sbopkg-0.38.1-noarch-1_wsr.tgz
# sbopkg -r

Agora instalaremos o openbox e algumas aplicações feita para o mesmo.

# sqg -p "openbox obmenu obconf obmenu-generator obshutdown"
openbox: empty REQUIRES line. No queuefile generated.
Uncomment SKIP_EMPTY to change this.
Processing obmenu.
Processing obconf.
Processing obmenu-generator.
Processing obshutdown.
Done.

Foi usado o sqg para verificar todas as dependências dos pacotes citados e para poder passar mais de um pacote para o sbopkg instalar, sendo que a opção -k do sbopkg faz com que ele não baixe o mesmo pacote e recompila o mesmo caso este pacote já está instalado, pois um mesmo pacote pode ser uma dependência de vários outros pacotes com funções diferentes.

# sbopkg -k -i "openbox obmenu obconf obmenu-generator obshutdown"

Tecle q e a seguir Enter na mensagem exibida.


Instalando algumas aplicações para melhorar o uso do desktop openbox

# sbopkg -k -i imlib2 (Na imlib2 escolha a url alternativa, teclando A já que exibi arquivo não encontrado)
# sbopkg -k -i tint2
# sbopkg -k -i gmrun  (Tecle A pra escolher a url alternativa já que a default não funcionou)
# sbopkg -k -i lxterminal
# sbopkg -k -i spacefm (gerenciador de arquivos gráficos com suporte a plugin e ações)
# sbopkg -k -i udevil
# sbopkg -k -i parcellite
# sbopkg -k -i cups-pdf
# sbopkg -k -i feh
# sbopkg -k -i giblib
# sbopkg -k -i scrot
# sbopkg -k -i gcalctool
# sbopkg -k -i lxdm
# sbopkg -k -i nbtscan
# sbopkg -k -i gsimplecal
# sbopkg -k -i geany
# sbopkg -k -i volumeicon
# sbopkg -k -i viewnior
sbopkg -k -i numlockx

Sobre os pacotes acima:

imlib2 = lib dependência do tint2, scrot e feh
tint2 = painel para programas abertos, atalhos, relógio e system tray.
gmrun = caixa executar
spacefm = gerenciador de arquivos, que permite criar atalhos no desktop e papel de parede
udevil = pacote para o spacefm montar dispositivos ou compartilhamento remoto como user normal
parcellite = gerenciador da área de transferência
cups-pdf = impressora virtual pdf
feh = visualizador de imagens, podendo usar a mesma como papel de parede.
giblib = lib de dependência do scrot
scrot = para tirar screenhort
gcalctool = calculadora
lxdm = gestor de login gráfico
nbtscan = pesquisar todas maquinas na rede que esteja rodando um compartilhamento de pasta window ou smb
gsimplecal = calendário simples para utilizar no tint2
geany = editor de texto padrão utilizado para editar configurações do openbox e tint2
volumeicon = ícone de volume para o system tray
viewnior = ótimo visualizador de imagens com suporte a exif
numlockx = ligar teclado numérico automaticamente na inicialização do desktop.

No console logrado agora como usuário normal

$ mkdir ~/.config/openbox
$ cd /etc/xdg/openbox
$ cp -v * ~/.config/openbox

O próximo passo agora é criar um arquivo xinitrc.

Para criar uma arquivo ~/.xinitrc configurado para openbox faça:

$  xwmconfig

Na lista de ambiente gráfico selecione xinitrc.openbox-session, depois selecione OK.
Agora sempre que usar o comando startx, será executado o desktop openbox como padrão do runlevel 3.

Iniciando o desktop openbox

$ startx

Agora faremos diversas configurações, a partir de uma janela de terminal.
Os passos abaixo você deverá esta com o seu usuário normal

Editando o arquivo ~/.config/environment

$ cat environment
#
# Set system-wide environment variables here for Openbox
# User-specific variables should be placed in $HOME/.config/openbox/environment
#

# To set your language for displaying messages and time/date formats, use the following:
#LANG=en_CA.UTF8
LANG=pt_BR.UTF8

# To set your keyboard layout, you need to modify your X config:
# http://www.google.com/search?q=how+to+set+keyboard+layout+xorg

O arquivo environment traduz algumas ações do openbox, ao clicar em Sair a mensagem será exibida em português se você configurou LANG=pt_BR.UTF8 bem como no tint2 onde o botão de área virtual será exibido área de trabalho 1 ao invés de desktop 1 e na parte do relógio apresentará o dia da semana e o mês em português ao invés do inglês.

Configurando aplicações para iniciar junto com o openbox

No final do arquivo comando ~/.config/openbox/autostart coloque os comandos abaixo, para estas aplicações serem iniciadas junto com o openbox.

tint2 &                 (painel)
volumeicon &      (ícone pra regulagem do volume de som)
setxkbmap br      (configura o teclado para abnt2, ou seja brasileiro com a tecla Ç)  
parcellite &         (clipboard)
spacefm --desktop &  (isto permite criar ícones no desktop, e usar fotos de papel de parede pelo spacefm)
xscreensaver -no-splash & (rodar o daemon da proteção de tela)
numlockx on (liga o teclado numérico)

Nota:
Ao dar total controle da área de trabalho para o spacefm, o click com o botão direito do mouse não mais exibirá o menu Iniciar do openbox como padrão, mas você pode exibi o mesmo clicando com o botão direito do mouse em cima
de um atalho configurado no painel ou em uma parte vazia sem ícone do painel (depende da configuração padrão do seu tint2rc) ou querendo de volta o menu Iniciar ao clicar em um espaço vazio do desktop, no spacefm ir no menu Exibir/Configurações, guia Área de trabalho, marque a opção "Botão direito do mouse exibi menu na área de trabalho."

Configurando o obshutdown

Para funcionar as opções do obshutdown e exibi os ícones delas faça o procedimento abaixo como usuário normal.

$ cd /usr/share/obshutdown/
$ cp example.rc ~

No seu HOME faça:

$ mv example.rc .obshutdown.rc

Agora quando executar o  obshutdown, aparecerá os ícones Cancelar, Logout, Reiniciar, Desligar, Suspender, Hibernar que são bonitos e ao clicar nas opções todas as mesmas funcionam agora como user normal.


Utilizando o obshutdown no menu avançado do openbox criado pelo obmenu-generator

Se você utilizou o obmenu-generator para gerar um menu Iniciar avançado e melhor que o tradicional, edite o arquivo ~/.config/obmenu-generator/schema.pl e edite a sessão  This uses the 'oblogout' menu e retire o # desta da linha item e troque oblogout por obshutdown, para substituir a janela de confirmação de saída que retorna para o gerenciador de login gráfico ou para o console real pelo do comando obshutdown que tem opções de cancelar, logout, reiniciar, desligar, suspender e hibernar com belos ícones na cor branca em um fundo preto fullscreen, podendo ser executado pelo user normal.


Antes:

## This uses the 'oblogout' menu
    # {item => ['oblogout', 'Exit', 'application-exit']},
--------------
Depois

 ## This uses the 'oblogout' menu
     {item => ['obshutdown', 'Exit', 'application-exit']},
]

Mudando o editor de texto padrão que edita as configurações do openbox como tint2rc, rc.xml, menu.xml

No arquivo ~/.config/obmenu-generator/config.pl edite o mesmo com seu editor de texto favorito e basta trocar geany por leafpad ou outro de sua preferência e se você tiver utilizando menu dinâmico não precisa reiniciar o openbox ou usar o comando openbox --reconfigure que será aplicada no mesmo instante.

Na sessão our $CONFIG = {  e na linha "editor" troque geany por leafpad.


Utilizando o spacefm para montagem de pendrives

Para que a montagem de pendrive funcione através do spacefm coloque seu usuário nos seguintes grupos do arquivo /etc/group onde nando é o meu usuário normal.

$ cat group | grep nando
disk:x:6:root,adm,nando
cdrom:x:19:nando
messagebus:x:81:nando
haldaemon:x:82:nando
plugdev:x:83:nando
polkitd:x:87:nando

Reinicie o computador, e agora funciona normalmente pelo spacefm a montagem de pendrives.

Compartilhamento windows

Coloque o seu usuário nos grupos abaixo, para que os arquivos colados pela rede fique com as permissões do seu usuário e grupo users.

/etc/group

nobody:x:98:nobody:nando
nogroup:x:99:nando
users:x:100:nando

Montando compartilhamento windows com senha pelo spacefm

Menu Arquivo/Abrir url

Digite:
smb://gustavo:minhasenha@192.168.1.105/privativo

Onde gustavo é o nome do user remoto gustavo, após os dois ponto é a senha minhasenha do user remoto e após a @ é o IP remoto do computador, seguindo pelo compartilhamento remoto que é privativo.

Clique em Ok, onde o mesmo será montado a partir /media podendo ser acessado também pela janela terminal.
A montagem aparece tanto no comando df quanto no comando mount.

Notas:

A linha de comando da montagem fica armazenada no spacefm, incluindo a senha digitada visível, até que você entra com um nova linha de comando.

O spacefm utiliza o udevil para montar dispositivos e o mesmo somente funciona pela especificação do IP como padrão, salvo ser o seu sistema e os outros computadores da rede tiver utilizado IP fixo sendo feito uma configuração especifica de hostname para cada IP fixo da rede associando a um hostname no seu computador, podendo neste caso utilizar qualquer comando de rede pelo hostname como ping, ssh, mount e outros.

Se você configurou o seu servidor samba, pode usar o comando nmblookup para retornar o IP especificando o nome do hostname remoto para pesquisa.

$ nmblookup gustavo  (gustavo é o nome de um computador que compartilha uma pasta windows na rede)
192.168.1.105 gustavo<00>

Para compartilhamento windows sem restrições (senha) use desta forma no spacefm: smb://192.168.1.105/partilha


Instalando uma impressora pdf

Para poder instalar a impressora pdf devemos habilitar o servidor cups tornando-se root na janela de terminal.

# cd /etc/rc.d
# chmod +x rc.cups
# ./rc.cups start

Pronto, agora você pode iniciar o aplicativo do menu Iniciar para instalar a impressora

Por padrão os arquivo imprimidos pelo cups-pdf ficam em /var/spool/cups-pdf/nando

Para modifica para o seu HOME, faça:
# cd /etc/cups
# leafpad cups-pdf.conf

Coloque a seguinte linha na sessão Path Settings   
Out ${HOME}/pdf

Após salvar o arquivo, reinicie o servidor cups.

Ativando o gestor de login gráfico lxdm

Ative o runlevel 4 no arquivo /etc/inittab para usar o gestor login gráfico lxdm, mas é também necessário
editar também o arquivo /etc/rc.d/rc.4 e comentar as linhas do xdm e colocar estas linhas abaixo do mesmo.

# If all you have is LXDM, I guess it will have to do:
 if [ -x /usr/sbin/lxdm ]; then
    exec /usr/sbin/lxdm
  fi

Após reinicie o pc.

O lxdm permite escolher outros desktops que você vier a instalar mais tarde e tem também a opção de Desligar/Reiniciar o computador podendo ser executado pelo user.


Criando um menu melhor que o tradicional com obmenu-generator

O obmenu-generator permite criar um menu Iniciar completo com todos os programas instalados que utilizam arquivos .desktop do freedesktop facilmente podendo escolher entre dois modos de menu sendo estático e dinâmico com ou sem ícones para ambos.

Menu Estático

Gerando um menu estático

$ obmenu-generator -s -c    (gera um menu sem ícones)
$ obmenu-generator -s -i -c (gera um menu com ícones) 

Vantagem:
Você pode remover todos os itens que você não utiliza ou muito raramente utiliza sem remover o arquivo .desktop do local original do sistema, já que os itens do seu menu Iniciar estão no arquivo ~/.config/openbox/menu.xml, servindo também para deixar o seu menu mais exunto somente com atalhos que realmente são usados diariamente.

Permite criar novo grupo de programa que não existe ainda e adicionar programas que não tem arquivos .desktop facilmente sem precisar criar um arquivo .desktop.

Desvantagem:
Não atualiza automaticamente ao instalar ou remover programas pelo seu gerenciador de pacotes.


Menu Dinâmico

Gerando um menu dinâmico

$ obmenu-generator -p     (gera um menu sem ícones)   
$ obmenu-generator -p -i  (gera um menu com ícones) 
 

Não tem como editar os itens do menu Iniciar para alterar um nome de programa, deletar os atalhos que raramente são usados, já que não existe os atalhos no arquivo menu.xml.

Todos programas instalados ou removidos pelo seu gerenciador de pacotes automaticamente o menu Iniciar é atualizado na mesmo instante.

Para incluir um atalho de um programa que não existe um arquivo .desktop basta criar arquivo .desktop simplificado em /usr/share/applications para que o mesmo apareça no menu Iniciar automaticamente


Na tela abaixo um screenhort do meu desktop openbox personalizado.






Um comentário:

  1. muito bom post, mais pra quem quer comprar celulares, compre pelo site da trocafone onde vc consegui os melhores preços, e ainda ganha desconto usando este link https://www.cupomzeiros.com.br/desconto/trocafone/

    ResponderExcluir