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:
  1. Ambiente de área de trabalho no Debian
  2. KDE
  3. Servidor de impressão
  4. Servidor ssh
  5. 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
  1. Localize o campo Adobe Flash Player
  2. 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

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

  1. Clique com o botão direito na Área de trabalho
  2. Clique em Configurar o Ecrã
  3. Altera a opção Disposição para Visualização de pastas
  4. Escolha o Papel de Parede
  5. Clique em Aplicar
  6. Clique em Ícones
  7. Altere o campo Organizar por para Colunas
  8. 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.

  1. Vá em Configurações
  2. Dispositivos de Entrada
  3. Mouse

No campo Ícones, marque a opção

  • Clique duplo para abrir arquivos e pastas

E clique em Aplicar

Compositor

  1. Vá em Configurações
  2. Tela e Monitor
  3. Compositor

Desabilite a opção

  • Ativar o compositor na inicialização

A altere o campo Infraestrutura de renderização para

  • XRender

Aparência

  1. Clique com o botão direito sobre o Ícone do Menu de Aplicativos
  2. Clique em Alternativas
  3. Selecione Menu de aplicativos
  4. 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

  1. Vá em Internet
  2. Clique com o botão direito sobre o Firefox ESR
  3. Clique em Adicionar como lançador

Repita o processo para o Google-Chrome

Bloqueando o Painel

  1. Clique com o botão direito sobre o painel
  2. Clique em Opções de Painel
  3. 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