Essa é uma revisão anterior do documento!
Servidor Telecentro
Para configuração do servidor veja.
Libertas Desktop
Esse são os procedimentos de instalação da Libertas 9 nas máquinas dos telecentros da Diretoria de Inclusão Digital da Prodabel.
Ela tem quatro etapas:
Download do instalador
Por ser baseada na Debian, a Libertas utiliza a mídia de instalação padrão dessa distribuição. Para simplificar o processo, trabalhamos com a versão netinst que vem com um conjunto básico de pacotes e baixa os outros necessários a partir da Internet.
As mídias de instalação netinst da Debian podem ser obtidas a partir deste endereço. Na seção Small CDs or USB sticks, selecione a arquitetura de 64-bit, clicando em amd64.
Feito isso, gere o CD/pendrive de instalação.
Instalação
Faça a instalação normal da distribuição, atentando para os seguintes detalhes:
- O novo usuário a ser adicionado é o “cqti”, com a senha “cqti”;
- O espelho de rede a ser utilizado é o deb.debian.org;
- Na Seleção de Softwares, escolha:
- Ambiente de área de trabalho no Debian
- KDE
- Servidor de impressão
- Servidor ssh
- Utilitários de sistema padrão (caso seja um notebook, escolha também laptop)
A instalação completa pode ser acompanhada aqui.
Ao final da instalação, você terá um sistema Debian funcional e com o KDE Plasma Desktop instalado. Feito isso, devem ser feitas as personalizações da distribuição.
Pacotes
Repositório
A Libertas possui um repositório próprio que deve ser utilizado por padrão, pois contém os pacotes próprios necessários ao seu funcionamento. A alteração deve ser realizada no arquivo /etc/apt/sources.list
. Devendo ficar somente com as seguintes linhas:
## Repositorio principal da Libertas deb http://repo.libertas.pbh.gov.br/libertas/ stable main contrib non-free
Buscar a chave do repositório:
wget http://repo.libertas.pbh.gov.br/libertas/libertas.key
Adicionar chave:
apt-key add libertas.key
Atualizar a lista de pacotes
apt update
Suporte a arquitetura i386
Na versão 64-bit da Debian é possível utilizar também pacotes de 32-bit. Para isso, é necessário acrescentar o suporte a arquitetura i386. Isso é feito com o comando:
dpkg --add-architecture i386
Instalação dos pacotes
Após atualizar a informação de repositório e acrescentar o suporte a arquitetura i386, deve-se:
- atualizar os pacotes instalados com o comando:
apt dist-upgrade
- Instalar os pacotes listados na relação de pacotes base com o comando:
apt install pacotes_a_serem_instalados
- Instalar o Google-Chrome
O pacote de instalação do navegador deve ser baixado no site do Google:
https://www.google.com/chrome/
E instale com o comando
dpkg -i google-chrome-stable_current_amd64.deb
Provavelmente durante a etapa acima, será relatado um erro de dependências. Caso isto ocorra, faça:
apt install -f dpkg -i google-chrome-stable_current_amd64.deb
Para facilitar a instalação do Google-Chrome, pode-se utilizar o gdebi, para auxiliar a resolução das dependências dos pacotes
- Atualização do Flash Player no Google-Chrome
Abra o navegador e digite na barra de endereços
chrome://components
- Localize o campo Adobe Flash Player
- Clique no botão Verificar atualizações
Feito isso o pluguin será baixado e instalado no diretório google-chrome dentro de .config do usuário.
NOTA Para que o plugin funcione perfeitamente, reinicie o navegador.
Após a instalação do google-chrome, ele adiciona o arquivo /etc/apt/sources.list.d/google-chrome.list com o repositório do Google. Edite este arquivo, comentando a linha com o repositório, deixando assim:
#deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main
Gerenciador de Sessão LightDM
Durante a instalação dos pacotes base, será solicitado a escolha do Gerenciador de sessão, Selecione
lightdm
Configuração NSSwitch
Selecione os campos:
passwd group shadow
Configuração OCSInventory
- Serão solicitadas duas informações: a forma pela qual o banco será acessado: http ou local e o endereço.
Escolha http, e depois digite a URL
monitora.educacao.pbh
Temas do Desktop
- instalar o pacote personalizado de temas do desktop, que pode ser obtido aqui. A instalação deve ser feita usando o comando:
dpkg -i desktop-base_9.0.7_all.deb
Aguardando Homologação
Snap4Arduino
Ele deve ser baixado do site:
http://snap4arduino.rocks/
Após isto, extraia o conteúdo do arquivo
tar -xf Snap4Arduino_desktop-gnu-64_1.2.7.tar.gz
Depois copie o diretório extraído para /opt e faça
cp -rf Snap4Arduino_desktop-gnu-64_1.2.7 /opt chmod -R 777 /opt
Crie dentro do diretório /usr/share/applications o arquivo Snap4Arduino.desktop, com o seguinte conteúdo:
- Snap4Arduino.desktop
[Desktop Entry] Type=Application Name=Snap4Arduino GenericName=Use Snap! Exec=sh -c 'cd /opt/Snap4Arduino_desktop-gnu-64_1.2.7 && ./launcher.sh' Icon=/opt/Snap4Arduino_desktop-gnu-64_1.2.7/icons/128x128x32.png Terminal=false Categories=Development;Engineering;Electronics; MimeType=text Keywords=embedded eletronics;eletronics;avr;microcontroller;
Aplique permissão de execução
chmod 755 /usr/share/applications/Snap4Arduino.desktop
Vimix
Tema para o GRUB
Faça download do tema Vimix no endereço abaixo:
https://www.gnome-look.org/p/1009236/
Após o download descompacte o arquivo
tar -Jxf Downloads/grub-theme-vimix.tar.xz
Será criado o diretório grub-theme-vimix. Para instalá-lo, execute o arquivo Install, que fica dentro do diretório grub-theme-vimix
./Install
ZSnes
Ele deve ser instalado através do repositório do Debian
apt-add-repository "deb http://deb.debian.org/debian/ stretch main contrib non-free" apt update apt install gdebi apt-add-repository -r "deb http://deb.debian.org/debian/ stretch main contrib non-free"
Remoção
- excluir os pacotes listados em pacotes a serem excluídos. Essa remoção deve ser feita com o comando:
apt purge pacotes_a_serem_excluídos
Configurações
Alteração do PolicyKit
Para que seja possível aos usuários comuns atualizarem o sistema, deve ser acrescentado um arquivo com as sobreposição de permissões. O arquivo, cujo nome é 10-libertas-system-upgrade.pkla
, deve ser colocado em /etc/polkit-1/localauthority/50-local.d
. O conteúdo do arquivo é o seguinte (e ele também pode ser baixado a partir do link abaixo):
- 10-libertas-system-upgrade.pkla
[System updates] Identity=unix-user:* Action=org.freedesktop.packagekit.system-update ResultAny=yes ResultInactive=yes ResultActive=yes [System upgrades] Identity=unix-user:* Action=org.freedesktop.packagekit.package-install-untrusted ResultAny=yes ResultInactive=yes ResultActive=yes [Packages removal] Identity=unix-user:* Action=org.freedesktop.packagekit.package-remove ResultAny=yes ResultInactive=yes ResultActive=yes [Packages refresh] Identity=unix-user:* Action=org.freedesktop.packagekit.system-sources-refresh ResultAny=yes ResultInactive=yes ResultActive=yes
Montagem automática de dispositivos
Por padrão, a Libertas exibe uma janela de opções quando se insere alguma mídia removível. Caso o usuário não selecione nada em um determinado tempo, essa tela fecha e o dispositivo não é montado.
Existe uma forma de se efetuar a montagem automática desses dispositivos, sem intervenção do usuário. Para isso é necessário editar o arquivo kded_device_automounterrc, que fica dentro do diretório .config, no home dos usuários. Nesse arquivo ficam registrados todos os dispositivos que já foram montados na máquina. Além disso, é lá que ficam as configurações gerais de montagem, normalmente ao final desse arquivo, em uma seção chamada [General].
Para ativar a montagem automática de dispositivos móveis, é necessário que essa seção esteja com, pelo menos, esses parâmetros:
[General] AutomountEnabled=true AutomountOnPlugin=true
Os outros parâmetros podem permanecer como estão.
CUPS
Remova o arquivo /etc/cups/cupsd.conf
rm /etc/cups/cupsd.conf
Faça o download do arquivo abaixo e copie-o para /etc/cups/
- cupsd.conf
LogLevel debug2 MaxLogSize 0 SystemGroup lpadmin Port 631 Listen /var/run/cups/cups.sock Browsing Off DefaultAuthType Basic <Location /> Order allow,deny Allow all </Location> <Location /admin> Order allow,deny Allow all </Location> <Location /admin/conf> AuthType Default Require user @SYSTEM Order allow,deny Allow all </Location> <Policy default> <Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Get-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job CUPS-Move-Job CUPS-Get-Document> Require user @OWNER @SYSTEM Order deny,allow </Limit> <Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS-Delete-Class CUPS-Set-Default CUPS-Get-Devices> AuthType Default Require user @SYSTEM Order deny,allow </Limit> <Limit Pause-Printer Resume-Printer Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedule-Job-After CUPS-Accept-Jobs CUPS-Reject-Jobs> AuthType Default Require user @SYSTEM Order deny,allow </Limit> <Limit CUPS-Authenticate-Job> Require user @OWNER @SYSTEM Order deny,allow </Limit> <Limit All> Order deny,allow </Limit> </Policy> <Policy authenticated> <Limit Create-Job Print-Job Print-URI> AuthType Default Order deny,allow </Limit> <Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Get-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job CUPS-Move-Job CUPS-Get-Document> AuthType Default Require user @OWNER @SYSTEM Order deny,allow </Limit> <Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS-Delete-Class CUPS-Set-Default> AuthType Default Require user @SYSTEM Order deny,allow </Limit> <Limit Pause-Printer Resume-Printer Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedule-Job-After CUPS-Accept-Jobs CUPS-Reject-Jobs> AuthType Default Require user @SYSTEM Order deny,allow </Limit> <Limit Cancel-Job CUPS-Authenticate-Job> AuthType Default Require user @OWNER @SYSTEM Order deny,allow </Limit> <Limit All> Order deny,allow </Limit> </Policy>
Reinicie o serviço do cups
systemctl restart cups.service
Padronização interfaces de rede
Para padronização da nomenclatura das interfaces de rede com eht0 e eht1, altera a linha GRUB_CMDLINE_LINUX=“” do arquivo /etc/default/grub, para:
GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"
Depois faça:
grub-mkconfig -o /boot/grub/grub.cfg ou update-grub
Obs.: Para que as interfaces sejam renomeadas, reinicie a máquina.
PAM criação dos homes dos usuários LDAP
Para que os diretórios homes dos usuários sejam criados no primeiro login, edite o arquivo:
/etc/pam.d/common-session
Adicionando a linha abaixo logo após a linha: session [success=ok default=ignore]
session required pam_mkhomedir.so skel=/etc/skel
- common-session
# # /etc/pam.d/common-session - session-related modules common to all services # # This file is included from other service-specific PAM config files, # and should contain a list of modules that define tasks to be performed # at the start and end of sessions of *any* kind (both interactive and # non-interactive). # # As of pam 1.0.1-6, this file is managed by pam-auth-update by default. # To take advantage of this, it is recommended that you configure any # local modules either before or after the default block, and use # pam-auth-update to manage selection of other modules. See # pam-auth-update(8) for details. # here are the per-package modules (the "Primary" block) session [default=1] pam_permit.so # here's the fallback if no module succeeds session requisite pam_deny.so # prime the stack with a positive return value if there isn't one already; # this avoids us returning an error just because nothing sets a success code # since the modules above will each just jump around session required pam_permit.so # and here are more per-package modules (the "Additional" block) session required pam_unix.so session [success=ok default=ignore] pam_ldap.so minimum_uid=1000 session required pam_mkhomedir.so skel=/etc/skel session optional pam_systemd.so # end of pam-auth-update config
Root ssh
Para permitir login na conta root em conexões ssh, edite o arquivo:
/etc/ssh/sshd_config
Descomentee modifique a linha PermitRootLogin prohibit-password para
PermitRootLogin yes
Logo após:
systemctl restart ssh.service
Ambiente de trabalho
Visualização de pastas
- Clique com o botão direito na Área de trabalho
- Clique em Configurar o Ecrã
- Altera a opção Disposição para Visualização de pastas
- Escolha o Papel de Parede
- Clique em Aplicar
- Clique em Ícones
- Altere o campo Organizar por para Colunas
- Clique em Aplicar
Duplo clique
Após a criação da conta CQTI, devemos alterar a opção de clique único para abrir pastas e arquivos.
- Vá em Configurações
- Dispositivos de Entrada
- Mouse
No campo Ícones, marque a opção
- Clique duplo para abrir arquivos e pastas
E clique em Aplicar
Compositor
- Vá em Configurações
- Tela e Monitor
- Compositor
Desabilite a opção
- Ativar o compositor na inicialização
A altere o campo Infraestrutura de renderização para
- XRender
Menu
Aparência
- Clique com o botão direito sobre o Ícone do Menu de Aplicativos
- Clique em Alternativas
- Selecione Menu de aplicativos
- Clique em Mudar
Favoritos
Remova o Konqueror
- Clique com o botão direito e selecione Remover dos favoritos
Adicionando o Firefox ESR aos favoritos
- Vá em Internet
- Clique sobre o Firefox ESR com o botão direito
- Adicionar aso Favoritos
NOTA Para alterar a ordem, clique e mantenha pressionado, logo depois, arraste-o para o local desejado.
Painel
Adicione os lançadores Firefox ESR e Google-Chrome
- Vá em Internet
- Clique com o botão direito sobre o Firefox ESR
- Clique em Adicionar como lançador
Repita o processo para o Google-Chrome
Bloqueando o Painel
- Clique com o botão direito sobre o painel
- Clique em Opções de Painel
- Clique em Bloquear Widgets
Bloqueios da Área de trabalho
Alguns campos da área de trabalho da conta CQTI são bloqueados, impedindo sua modificação. Para isto, deve-se editar o arquivo /home/cqti/.config/plasma-org.kde.plasma.desktop-appletsrc. Ele é composto por grupos (Containments), que são representações dos campos e objetos que encontramos na área de trabalho, como painéis e botões.
Antes de fazer os procedimentos abaixo, adicione à Área de trabalho os atalhos do Firefox-ESR, Google-Chrome, LibreOffice Writer, LibreOffice Calc e os demais que forem necessários.
Para que os procedimentos sejam executados da forma correta, é necessário que não esteja logado com a conta CQTI.
As numerações dos containments podem ser diferentes das utilizadas abaixo. Por tanto, não as use como referenciais absolutos.
Para alterar o ícone do menu de aplicativos deixe o grupo (containments) da seguinte forma:
[Containments][2][Applets][18][Configuration][General] customButtonImage[$i]=file:///usr/share/icons/hicolor/36x36/emblems/menu-libertas-36.png favoriteApps[$i]=firefox-esr.desktop,systemsettings.desktop,org.kde.dolphin.desktop,org.kde.kate.desktop useCustomButtonImage[$i]=true
Para fixar os lançadores dos browsers no painel
[Containments][2][Applets][5][Configuration][General][$i] launchers[$i]=file:///usr/share/applications/firefox-esr.desktop,file:///usr/share/applications/google-chrome.desktop
Para impedir a modificação do painel
[Containments][2][Applets][18] immutability=2 plugin=org.kde.plasma.kicker
[Containments][7] activityId= formfactor=2 immutability=2 lastScreen=0 location=4 plugin=org.kde.panel wallpaperplugin=org.kde.image
knownItems[$i]=org.kde.plasma.notifications,org.kde.plasma.networkmanagement,org.kde.plasma.clipboard,org.kde.plasma.bluetooth,org.kde.plasma.volume,org.kde.plasma.battery,org.kde.plasma.devicenotifier,org.kde.plasma.mediacontroller,org.kde.discovernotifier,org.kde.kdeconnect
Personalização Skel e Adduser
Modificação do arquivo /etc/adduser.conf
cp -p /etc/adduser.conf /etc/cqti.conf
Edite a linha SKEL=/etc/skel do arquivo /etc/cqti.conf, deixando a seguinte forma
SKEL=/etc/skel-cqti
Crie uma estrutura básica (skel) personalizada para a conta CQTI
NOTA
Antes de fazer a cópia do diretório Área de trabalho para skel-cqti, certifique-se que dentro dela estejam os atalhos dos aplicativos que deverão estar no Desktop após a criação do usuário, tais como: LibreOffice, Firefox, Google-Chrome, Lixeira.
cp -rp /etc/skel /etc/skel-cqti/ cp -rp Área\ de\ trabalho/ Documentos/ Downloads/ Imagens/ Músicas/ Modelos/ Público/ Vídeos/ /etc/skel-cqti/ cp -rp /home/cqti/.config/ /etc/skel-cqti/
Contas de Usuários
CQTI
Adicione a conta CQTI ao grupo dialout para utilização do Arduino
adduser cqti dialout
Monitor
Para efetuar tarefas administrativas que exijam autorização de superusuário deve-se utilizar o usuário monitor. Para criá-lo, a partir do terminal, como root, digite o seguinte comando:
adduser monitor
Será feita uma série de perguntas. Mantenha o padrão (deixando os campos em branco), simplesmente apertando o Enter.
Em seguida acrescente esse usuário ao grupo sudo para que ele ganhe privilégios de administrador. Para isso, execute o comando abaixo, no terminal, novamente como root:
adduser monitor sudo
Root
Por diversos motivos, a conta CQTI pode ser deletada e adicionada novamente durante os atendimentos externos. Para isso, foi adicionado um atalho (alias) na conta root.
Edite o arquivo .bashrc da conta root, adicionando o alias ao final do arquivo
alias adicionar='adduser cqti --conf /etc/cqti.conf --gecos cqti; adduser cqti dialout'
Feito isto, no próximo login da conta root, o usuário CQTI pode ser adicionado usando o comando (alias):
adicionar
NOTA
Caso, durante a criação da conta CQTI, haja um erro informando que a conta já exista, mesmo que ela já tenha sido excluída, pare o serviço do NSLCD.
systemctl stop nslcd.service
Caso o erro seja referente ao grupo
systemctl stop nslcd.service delgroup cqti
Se durante a remoção da conta cqti houver algum processo vinculado a conta faça:
kill Número_do_processo
Após isto, execute novamente o comando
adicionar
Por fim, reinicie o NSLCD
systemctl start nslcd.service