Guia de referência proccm
Abaixo são explicados conceitos básicos, acompanhados de exemplos, para o uso da rede linux da sala de computação, bem como dos servidores do CCM, o fleming e o proccm. Se está buscando informações específicas ao fleming, visite o FAQ fleming. Para informações sobre a sala de computação, os servidores e linux em geral, visite o Guia de Sobrevivência Molecular dos Admins.
Índice
Terminal
Antes de mais nada, é preciso saber alguma coisa sobre como funciona o terminal. Para abrir um, abra o menu principal, vá no item Acessórios, e depois em Terminal, ou então aperte Mod4+T.
Você verá algo do tipo:
jose@newton:~$
O que isso quer dizer? Que seu nome de usuário é 'jose', que você está em um computador chamado 'newton', na pasta '~' (isso é um apelido para /home/usuario), e que você é um usuário comum (o cifrão simboliza isso; se você estivesse logado como administrador, apareceria um '#' no lugar).
Se você estivesse na pasta Downloads, o que apareceria seria:
jose@newton:~/Downloads$
Isso é o terminal. Nele você executa comandos para absolutamente qualquer tarefa do sistema - podendo inclusive combinar comandos, o que torna tremendo seu poder e versatilidade. Ele é o principal meio de interação com o sistema: intefaces gráficas te permitem interagir com o sistema do jeito que quem a programou achava que era o melhor para o usuário; o terminal, por outro lado, não sofre desse tipo de limitações.
Serão discutidas, a seguir, algumas tarefas básicas.
Acesso e senhas
- Acessar o proccm
Se quiser acessar de fora da sala de computação, rode no terminal:
ssh -p 14641 usuario@proccm.redealuno.usp.br
Caso você já esteja logado numa das máquinas da sala pró-aluno, basta:
ssh -p 14641 proccm
- Alterar a senha
No terminal, dê o comando:
passwd
Preencha a senha antiga, e a seguir a nova, e confirme-a. A senha deve conter no mínimo 6 caracteres, incluindo necessariamente números e letras (maiúsculas ou minúsculas).
Acessando periódicos de casa
É possível ter acesso a revistas assinadas pela USP de sua casa. Para configurar, há 2 partes: abrir uma conexão ssh abrindo um túnel, e depois fazer com que seu navegador use esse túnel para acessar a rede. Note que configurar o navegador sem o túnel estar aberto vai impedi-lo de navegar.
Túnel
O túnel redireciona uma porta do seu computador para um computador remoto (no caso, o proccm). As portas até 1024 são acessíveis apenas pelo root e podem ser usadas por serviços do sistema, portanto é recomendável usar números altos.
- No linux, use
ssh -D12345 -p 14641 foo@proccm.redealuno.usp.br
supondo que você quer usar a porta 12345, e seu nome de usuário é foo.
Observação: isso também pode ser feito no fleming, bastando substituir proccm.redealuno.usp.br por fleming.cecm.usp.br, e usando o nome de usuário que você usa para logar no fleming.
- No windows, você precisa baixar algum programa para conectar-se ao proccm, caso não tenha ainda.
- Recomendo putty (baixe aqui). Para conectar, preencha o host name com proccm.redealuno.usp.br. No menu à esquerda, vá em Connection -> SSH -> Tunnels, coloque 12345 (ou outra porta) no campo source port, localhost no campo destination, selecione a opção Dynamic e então clique em Add. Aí, basta ir em Open para conectar-se, colocando nome de usuário e senha quando pedir. Isso tudo pode ser simplificado salvando a sessão (menu Session, a tela inicial).
No Firefox, abra as Preferências (menu Editar no linux, ou menu Ferramentas no windows), vá para Definições de rede e clique em Definições.... Na janela que abre, selecione a opção Configuração manual de proxy e preencha o campo SOCKS com localhost e a porta correspondente com 12345 (ou a porta que você escolheu ao criar o túnel). Dê os Ok's necessários e seja feliz.
Para desconfigurar, vá até o mesmo lugar, e selecione Sem proxy.
Manipulando arquivos e pastas
O GNOME possui um gerenciador de arquivos próprio chamado GNOME Files (antigo Nautilus), que é similar ao Explorer do Windows. Contudo, aqui focaremos em como manipular arquivos e pastas usando o terminal.
O diretório raíz, equivalente, numa comparação grosseira, ao "Meu Computador" do Windows, é o
/
As pastas do sistema estão localizadas abaixo dele:
- /home - contém as pastas dos usuários - por exemplo /home/foo é a pasta do usuário foo
- /bin - contém os principais arquivos binários, ou seja, executáveis, ou seja, programas
- /sbin - idêntico ao anterior, mas a execução é permitida apenas para o root (leia mais abaixo)
- /media, /mnt - pastas onde são montados dispositivos removíveis, em geral (pen drives, CDs, etc)
- /etc - contém arquivos de configuração do sistema
- /dev - contém arquivos de dispositivos físicos. Por exemplo, /dev/sda representa o primeiro disco SCSI ou SATA do sistema, /dev/sdb o segundo, etc. Mas há muitos outros dispositivos... E sim, caso esteja se perguntando: seus dispositivos são realmente vistos como arquivos, pelo sistema. Já diz o mantra, Everything is a file.
- /tmp - arquivos temporários em geral, pode ser escrito por qualquer usuário
- /root - a home do root
- /var - contém arquivos "variáveis", utilizados por alguns programas
- /usr - armazena dados compartilhados
- /boot - contém arquivos de inicialização
- /lib - contém bibliotecas (libraries) - similares aos ".dll" do Windows
- /scratch - espaço livre para bobagens. A gravação é permitida a todos os usuários
Para maiores informações, acesse este link.
Agora, alguns comandos básicos:
- Para exibir os arquivos da pasta onde você está:
ls
- Para entrar em alguma pasta:
cd PASTA
- Para mover arquivos:
mv ARQUIVO DESTINO
Pode ser usado também para renomear arquivos, se "DESTINO" não for uma pasta.
- Para copiar arquivos
cp ARQUIVO DESTINO
- Para copiar pastas
cp -r PASTA DESTINO
- Para apagar arquivos
rm ARQUIVO
- Para apagar pastas (vazias)
rmdir PASTA
- Para apagar pastas (não-vazias)
rm -r PASTA
Abrindo arquivos
- Para editar arquivos de texto puro - algo extremamente frequente - há várias opções, e a escolha vai do gosto de cada um. Procure testar alguns para ver com qual você se identifica!
- vim (:help para ajuda)
- emacs (tecle Control+h t pra ajuda)
- gedit (bastante intuitivo)
- nano (tudo que você precisa está descrito no menu inferior)
Pode parecer que um editor de texto puro é uma coisa muito simples e de utilidade limitada. Entretanto, você perceberá que existem recursos muito úteis, especialmente quando se trata de programar e escrever em LaTeX.
Para abrir arquivos em geral, basta rodar programa nome_do_arquivo, no terminal. Por exemplo, para abrir um arquivo .pdf, você poderia rodar 'evince arquivo.pdf'. Alguns exemplos de programas:
- Para ler arquivos de texto (puro): less, cat ou, é claro, seu editor preferido (vi, vim, emacs etc)
- Para abrir arquivos .pdf: evince, xpdf, okular
- Para abrir documentos do Office (Word, Excel, Powerpoint e análogos): libreoffice
- Para abrir imagens: feh, ristretto, gthumb
- Para rodar música ou vídeos: mplayer, vlc
Para descompactar arquivos de extensão:
- .tar.bz2: tar -xjf
- .tar: tar -xf
- .tar.gz: tar -xzf
- .zip: unzip
- .rar: unrar x
Comandos diversos
- Para abrir outra sessão do X (outro gerenciador de janelas):
Vá para um terminal (Ctrl+Alt+F[1-6]), e rode
startx -- :1
Essa sessão ficará no Ctrl+Alt+F8 (a primeira sessão é no Ctrl+Alt+F7). Note que o default é abrir no Xfce, independente do gerenciador de janelas escolhido no LigthDM; para alterar isso, é necessário editar o arquivo /home/foo/.xsession, colocando nele o comando para iniciar o seu gerenciador de janelas favorito. Alguns exemplos:
awesome startfluxbox evilwm fvwm ratpoison
Obs: Use apenas um deles, claro.
- Para encontrar arquivos:
find -iname NOME
- Para travar a tela:
xtrlock
- Para ver espaço ocupado por vários arquivos:
du -h ALVO
- Para fazer contas, álgebra, cálculo, e o que mais você imaginar de Matemática:
maxima
Exemplos mirabolantes
E, por que não, alguns exemplos mirabolantes, para dar uma ideia melhor do que o terminal é capaz?
- Para mover todos os arquivos .mp3 da sua home que contêm a palavra 'Oasis' para a pasta Músicas:
find /home/usuario -name "*Oasis*.mp3" -exec mv {} /home/usuario/Músicas \;
- Para baixar um site inteiro:
wget --recursive --page-requisites --html-extension --convert-links --domains website.org --no-parent www.website.org/tutorials/
- Remover todos os arquivos da forma imagemXYZ.jpg, sendo X e Y números, e Z uma letra minúscula, da pasta atual:
rm imagem[0-9][0-9][a-z].jpg
- Ordenar, tirar linhas duplicadas e tirar linhas vazias (nessa ordem) do arquivo 'aq.txt', e mandar a saída para o arquivo saida.txt:
cat aq.txt | sort | uniq | grep . > saida.txt
- Mostrar a tabuada:
for i in {1..9}; do for j in $(seq 1 $i); do echo -ne $i×$j=$((i*j))\\t;done; echo; done
Tá bom, depois dessa, chega.
Partições públicas
Todos os computadores da sala de computação possuem uma partição /scratch, aberta para todos os usuários e com o remanescente de espaço no disco que não foi usado pela instalação principal (geralmente uns 100+ GB). Recomendamos que use essa partição para guardar arquivos ou projetos grandes ao invés da sua home, se possível.
Para deixar os seus arquivos no /scratch privados (não permitir leitura, escrita ou execução por outros usuários), use o chmod:
chmod 700 arquivo
Para pastas, use o -R:
chmod -R 700 pasta
LaTeX
O LaTeX é um pacote feito para a preparação de textos impressos de alta qualidade, em especial quanto à formatação de símbolos matemáticos - essencial para fazer um bom relatório de numérico, ou um relatório de biomol com cara de sério. Ele foi desenvolvido por Leslie Lamport, a partir do programa TeX - criado pelo próprio Donald Knuth.
Gnuplot
O gnuplot é um programa para fazer gráficos, capaz inclusive de plotar dados extraídos de arquivos. Também muito útil para fazer relatórios.
Identificando usuários
- Para saber quem é o usuário foo, dê o comando
finger foo
A busca é feita no nome completo e username de todos os usuários, mas apenas localiza palavras inteiras (por exemplo: "finger a" retorna um número pequeno de usuários).
- Para mudar as informações que aparecem sobre você, logue-se no proccm e use
chfn
e mude o que for necessário. Repare que não é permitido a um usuário alterar o próprio nome. Para isso, procure algum dos admins.
- Se você quer que seu plano seja exibido pelo comando finger, basta criar no seu home um arquivo de texto puro chamado .plan e descrever ali como você pretende conquistar o mundo.
Usando dispositivos USB
Dispositivos USB são montados automaticamente pelo Xfce.
Note que a gravação em dispositivos USB é feita utilizando cache. Portanto, retirar o pen drive sem desmontá-lo pode provocar perda de dados e até corrupção do sistema de arquivos. Para desmontar, clique com o botão direito sobre o ícone do dispositivo e clique em 'Ejetar', ou use:
umount /media/label
Sendo 'label' o nome que o sistema deu para o pen drive.
Impressão
O programa usado para gerenciar impressão nos computadores da pró-aluno é o cups. Ele possui uma interface web (acessível no browser pelo endereço localhost:631) e utilitários de linha de comando para impressão.
- Para imprimir arquivos
Para imprimir usando a Samsung, o processo é bastante simples: basta mandar imprimir a partir do programa que você usa, seja lá qual for (firefox, evince, libreoffice, etc). Via linha de comando, use o comando lp:
lp -d Samsung filename
- Para verificar a fila de impressão da Samsung na máquina em que você está:
Na interface web, clique na aba Jobs. Na linha de comando, use o comando lpq:
lpq -P Samsung
Se existe outro trabalho na frente do seu, ele será impresso antes, e apenas o root pode remover da fila trabalhos alheios. Por isso é importante removê-los caso eles fiquem pendentes, como descrito abaixo.
- Para remover arquivos da fila de impressão - o que deve ser feito quando você desiste da impressão, seja por problemas com a impressora, ou falta de papel, ou outros motivos:
Na interface web, na aba Jobs. clique em Cancel Job. Na linha de comando, use o comando lprm:
lprm job
onde job é o número do trabalho que aparece na lista do lpq.
Impressão remota
Changelist 2023.6 - A impressora foi trocada para uma impressora HP em Junho de 2023. Com isso, mudou o modelo da impressora (HP LaserJet Flow MFP E52645) e as configurações de whitelist (não foi feita por mim, mas creio que todo IP da USP está permitido, incluindo o eduroam). O IP da impressora continua o mesmo. Configurações antigas parecem ainda funcionar, mas se você estiver tendo problemas tente baixar um driver HP.
A rede interna do proccm (a rede na qual os computadores e o Wi-Fi "Boteco do Carlos-Magno" estão) e os IPs fornecidos pelo eduroam ambos estão whitelisted pela impressora. Assim, é possível fazer impressão a partir de computadores pessoais ou celulares, desde que você esteja conectado na rede Wi-Fi apropriada e faça a configuração no seu dispositivo pessoal.
As informações necessárias para fazer a configuração geralmente são só o endereço da máquina e seu modelo. Para a impressora HP usada desde 2023, o seu endereço IP é 143.107.90.4 (para IPP, ipp://143.107.90.4/ipp/printer), e seu modelo é HP LaserJet Flow MFP E52645.
- Para computadores Linux
Copie a configuração por CUPS feita nos computadores da sala, descrita no guia de instalação. Essa configuração antiga parece ainda funcionar nos PCs da pró-aluno, mas eu recomendaria colocar o Make e Model como os apropriados para a nova impressora. Se você não estiver no Arch, será necessário procurar onde os drivers da impressora estão disponíveis para a sua distribuição.
- Para computadores Windows
Será necessário configurar a impressora manualmente, usando seu endereço IP. Esse site descreve o processo para o Windows 10.
- Para celulares
O Samsung Mobile Print não é mais necessário e, no nome da diminuição de bloat, eu recomendaria desinstalar ele do seu celular. Nos celulares testados, só registrar a impressora usando a interface normal do celular parece estar funcionando, mas se não funcionar para você contate um admin (eu, Joel) para que busquemos alternativas.
Em celulares Android, a configuração normal é:
- Logue no eduroam ou no Boteco do Carlos-Magno.
- Vá na lista de impressoras (ou nas configurações de impressora ou vá na página de impressão para algum documento, clique no nome da impressora/Salvar como PDF e selecione Todas impressoras)
- Selecione "Adicionar impressora" e, então, "Serviço de impressão"
- Selecione "Adicionar impressora pelo endereço IP"
- Digite o IP da impressora da sala - 143.107.90.4
- A impressora deve estar registrada no seu celular - use ela para imprimir.
Passos análogos devem funcionar para celulares Apple -- é só ir onde você vai para adicionar impressoras e aí adicionar a impressora manualmente pelo IP (pois ela não está na mesma rede interna que o proccm ou o eduroam, então o seu celular não vai descobrir ela automáticamente).
Scanning
A impressora atual (Samsung M4080FX) também possui um scanner. Para operá-lo, basta ligar a impressora, esperar ela terminar o warm-up e então usar a tela acoplada. Algumas opções de interesse:
- Copy
Essa opção faz um xerox imediato do documento. Basta colocar o documento que você quer copiar no scanner, selecionar a opção no menu inicial, escolher as configurações desejadas e apertar o botão (físico) Início.
- Scan to USB
Essa opção escaneia e transfere o arquivo com o documento para um pen drive. Conecte o pen drive na entrada USB do lado da tela, coloque o documento que você deseja copiar no scanner, selecione Scan to USB no menu inicial, escolha as configurações desejadas e aperte o botão Início no painel à direita da tela. Para escanear múltiplas páginas no mesmo pdf, escolha Yes quando a impressora pergunta se você deseja escanear mais páginas.
- Scan to Email
Essa opção escaneia e envia o arquivo com o documento para um email. Coloque o documento que você deseja copiar no scanner, escolha a opção Scan to Email no menu inicial, digite o(s) email(s) do(s) destinatário(s) desejados, escolha as configurações desejadas e aperte o botão Início no painel à direita da tela. Para escanear múltiplas páginas no mesmo pdf, escolha Yes quando a impressora pergunta se você deseja escanear mais páginas.