quinta-feira, 13 de outubro de 2016

De volta para o Gnome-Screenshot

Um “simples” comando diz ao gnome-screenshot em qual pasta e com qual nome salvar a Captura de tela.

A necessidade de substituir o antiquado KSnapshot no Debian 8.6 KDE foi o que trouxe de volta o “gnome-screenshot”, — mas os resultados foram tão satisfatórios, que ele acabou substituindo também o sofisticado KDE Spectacle no Kubuntu 16.04 LTS, no Linux Mint 18 KDE, no KDE Neon User Edition, — e agora, no teste Live USB do Kubuntu 16.10 Yakkety Yak.

Copiando o comando do Debian para adaptar ao Live Kubuntu 16.10 Yakkety Yak

Leve, ágil e discreto, o “gnome-screenshot” mostrou uma série de vantagens, mesmo em relação ao KDE Spectacle:

  • Basta inserir a extensão “.JPG” para que as Capturas de tela sejam salvas nesse formato, — com economia de 50% (ou mais) no espaço ocupado em disco, sem perda de qualidade;

  • Não polui a tela com “notificações”, — que no caso do Spectacle, às vezes demoram a desaparecer, exigindo intervenção do mouse para fechá-las, ou continuar esperando, para fazer o próximo PrintScreen;

  • A Captura de tela com retardo (delay) pode ser feita sem interação ou uso do mouse, — ao contrário do Spectacle, que abre um diálogo e fica aguardando instruções.

Claro que tudo isso é muito relativo, — depende do uso e dos hábitos de trabalho de cada um.

O KDE Spectacle oferece vários recursos, — importantes para muitos usuários. — Além disso, é possível que permita soluções até melhores, nesses tópicos, e apenas falte neurônio por aqui, para descobrir como.

Os antigos atalhos do KDE Spectacle foram apenas desativados, — e podem ser restabelecidos no futuro

Alterar a duração das “notificações” do KDE Spectacle, por exemplo, não é difícil. — Mais complicado, talvez seja descobrir por que motivo, às vezes, elas acabam deixando de fechar sozinhas.

Kubuntu 16.10 Yakkety Yak


Último Print no Live Kubuntu 16.10, — de volta, após colapso temporário, — e Spectacle sem ser chamado

Não que o “gnome-screenshot” seja imune a falhas.

Ao encerrar a terceira sessão de teste do Kubuntu 16.10 Yakkety Yak, a tecla PrintScreen tinha estado inoperante desde 1 hora antes, — e o Spectacle aparecia na tabela de processos do Monitor do sistema (KSysguard), embora não tenha sido usado em momento algum. — Horas antes, tinha sido verificado no KSysguard que o Spectacle não estava carregado na Memória.

Terceira ou quarta tentativa de finalizar o “processo” Spectacle pelo KSysguard

  • Foram feitos 163 Prints entre 8:14 e 15:06. Às 16:11 ficou evidente que os Prints não estavam mais acontecendo. — Existe, porém, um último Print às 18:06, durante a tentativa de documentar a situação. Mas, passou desapercebido que tivesse voltado a funcionar, e há fotos de celular dessa mesma tela, às 18:11, ainda tentando “finalizar” o processo Spectacle. (Foram feitas 3 ou 4 tentativas, sem êxito). A sessão Live foi encerrada às 18:14. — Obs.: Todos os Prints têm nomes correspondentes à hora exibida na tela (confirmada pelas anotações no caderno), porém no Kubuntu consta que os arquivos foram gravados sempre 3 horas antes (5:14 às 12:06, e o último às 15:06).

Faltam conhecimentos (e tempo) para investigar se cada ocorrência desse tipo de problemas se deve aos aplicativos de Captura de tela, ou a qualquer outro componente dos “sistemas” Linux.

Quando o KSnapshot era mais usado (KDE 4), as observações eram irregulares, anotadas de passagem, e não deixaram registro de falhas. O Shutter começou a ser mais utilizado nos últimos 12 meses, mas só em tempos recentes as falhas foram minuciosamente registradas (Cinnamon e Plasma KDE 5). O uso do Spectacle começou nos primeiros testes Live USB do Kubuntu 16.04 Alpha e Beta (Plasma KDE 5), há cerca de uns 6 meses, mas só recentemente as observações produziram registros mais minuciosos.

Portanto, foram mudando os aplicativos de Captura de tela, mas também foram mudando os “sistemas” Linux onde são usados, — assim como vieram mudando o “observador” e, principalmente, a minúcia dos registros.


Debian 8.6 KDE


Captura de tela com o KSnapshot: — acerte com o Mouse em “Salvar como”.

Depois de 326 Capturas de tela com o KSnapshot, obter uma alternativa simples e prática foi a melhor notícia, desde a instalação do Debian 8.6 KDE, há 2 semanas.

Talvez ainda seja cedo para comemorar, — lembro meu antigo entusiasmo com o KSnapshot, e depois com o Shutter, dos quais agora quero distância. — Afinal, a nova “maravilha” é o Gnome-screenshot, que tanto já xinguei no passado.

Ainda não saber tudo é muito chato.

Captura de tela com o KSnapshot: — “Salvar como”, e confirmar para “Salvar”

Fato é que cada um desses 326 prints do KSnapshot exigiu nada menos que 3 passos:

(1) Teclar “Print”;

(2) Clicar em “Salvar como”, — é preciso ir lá, com o mouse, pois o “Enter” está em “Fazer nova captura”, — ou teclar “Tab”, passando o “Enter” para o “Salvar como”;

(3) Teclar “Enter” na segunda janela de diálogo, para confirmar e “Salvar”.

E o resultado são 326 arquivos numerados, — pense em centenas de “Snapshot-001”, “Snapshot-002”… até “Snapshot-326”.

Qualquer descuido, — backup, converter, copiar, mover, — pode alterar as datas, deixando tudo com o mesmo dia, hora e minuto. Aí, só abrindo cada um, para ver a hora (se aparecer na imagem).

Então, por que tantos elogios ao KSnapshot, no passado?

A verdade é que isso já foi um tremendo avanço. No antigo Windows XP, por exemplo, a tecla Print apenas copiava a imagem da tela para a memória, — sem direito a Klipper, para guardar várias “memórias”, — e era preciso correr para o Photoshop, criar novo arquivo de imagem, “colar” o ”print”. — Em seguida, “achatar” as camadas, ou não poderia salvar como JPEG (não havia visualizador rápido para arquivos “.PSD”). — Depois, digitar um nome-de-arquivo. — Por fim, “aceitar” salvar JPEG com Qualidade 80%, ou coisa parecida. Uma burocracia sem fim.

Encontrar um Ksnapshot, — que “resolvia tudo” em 3 passos, — parecia o paraíso.

Só mais tarde, — ao pesquisar e explorar o Shutter, — isso também se tornou coisa do passado.

Quando o KDE / Kubuntu substituiu o Shutter pelo Spectacle, logo ficou claro que as coisas podiam ser ainda melhores, — e até ontem, pareceria absurda, a simples ideia de trocar o Spectacle pelo Gnome-screenshot, caso alguém sugerisse.

Linux Mint 17.3 Cinnamon


Tomei conhecimento do Gnome-screenshot, — ou seria melhor dizer, “nem percebi”, — em alguma versão anterior do Linux Mint Cinnamon.

Existem no caderno duas ou três antigas anotações, tipo, — “a tecla Print não funciona. Não abre diálogo para salvar, e não há nada na memória para colar no Gimp”, — até que um dia descobri um punhado de arquivos salvados (silenciosamente) na pasta “/home/Pictures”, que não costumava olhar.

Porém, os arquivos de trabalho ficam na partição “F:\” (Fat32), do antigo Windows XP, que não aceita nomes com “:”. Enquanto foi usado o Nemo para fazer a transferência dos arquivos, tudo bem, — ele automaticamente substitui “:” por “_”, — o que não facilita a leitura (onde começa a hora?), mas ocultava o problema operacional.

A coisa se complicou ao fazer backup (aliás, sincronização), com arquivos duplicados numa direção, e uma mensagem de erro na outra.

E ficou mais evidente quando tentei “centralizar” as Capturas de tela em uma única pasta, — tipo, “F:\000_print-screen”, — para facilitar a sequência cronológica de vários sistemas Linux + Windows.

À primeira vista, a pesquisa na web só apresentava “impossibilidade” de configurar o Gnome-screenshot, — nome que o Linux Mint esconde, como o de muitos aplicativos, depois de lhes dar uma “personalização”. — As afirmações, nos Fóruns, eram de que não havia como “mudar” o padrão de nome-de-arquivo do Gnome-screenshot, e que essa demanda (ou “bug”) estava registrada havia anos, sem solução etc.

Shutter


Surto do Shutter no Linux Mint 17.3 Cinnamon

Como a vida não pode parar, — e o Dolphin foi adotado em diferentes sistemas Linux instalados em paralelo, — a solução imediata foi instalar o Shutter no Linux Mint 17.3 Cinnamon, já que o Spectacle não estava disponível em seus repositórios.

Saraivada de mensagens de erro do Shutter, ao ver seus arquivos renomeados fora dele

A partir daí, começaram a ser percebidos vários problemas relacionados ao Shutter:

  • Alto consumo de Memória RAM, à medida em que a “sessão” do Shutter acumula centenas de arquivos;

  • Reclamações mal-explicadas, a cada vez que um de seus preciosos arquivos é renomeado fora dele;

  • Acessos de atividade desvairada, “consumindo” CPU — e muitas vezes, parando de responder, até reiniciar o Linux Mint;

Montagem da solução


Primeiro “Print” do Gnome-screenshot no Debian, só com parâmetro “-p”, — incluir ponteiro do Mouse

Foi nesse quadro que o Debian 8.6 KDE instalado há 2 semanas veio apenas com o KSnapshot, — e sem Spectacle nos repositórios.

Para quem já se acostumou com “prints” de vários sistemas, salvos automaticamente, numa única pasta, — todos com nomes padronizados “YYYY-mm-DD_HH-MM-SS”, — voltar ao KSnapshot é como voltar à Idade da Pedra Lascada.

Entre as alternativas encontradas pelo Synaptic do Debian 8.6 KDE, havia pouco motivo para entusiasmo:

  • Shutter → 49 pacotes
  • Xfce4-screenshooter → 18 pacotes
  • Kazam → 18 pacotes
  • Mate-utils → 5 pacotes
  • X11-apps → Já instalado. — Mas, cadê? Como se usa isso?
  • Gnome-screenshot → 1 pacote.

Os “capturadores” do Xfce e do MATE foram usados recentemente, — na primeira instalação do Debian testing “Stretch”, com todos os ambientes gráficos, — e não agradaram muito, em um exame superficial (embora não duvide que possam ser fantásticos).

Mas, para pesquisar e aprender, por que não começar pelo Gnome-screenshot, do qual já sabia alguma coisa?

Gnome-screenshot com “-f” → nome-de-arquivo passou a gravar na pasta “/home

Um velho bookmark do AskUbuntu, — intitulado “How can i change the default name for the screenshots made by gnome-screenshot?”, — tinha algumas dicas ainda não exploradas, tipo editar arquivos de configuração, criar um arquivo executável com “chmod a+x” e outras fórmulas cabalísticas de arrepiar os cabelos. Mas, no desespero, até injeção na testa é uma possibilidade a considerar.

Um exame mais atento mostrou que algumas partes daquela fórmula:

gnome-screenshot.real -f "$HOME/Pictures/Screenshots/$(date +%F_%H-%M-%S).png" $@

talvez pudessem ser utilizadas, — não como “arquivo executável”, mas — como parâmetros para o “comando” a ser disparado pela tecla “Print”.

Bastou mudar a extensão para o gnome-screenshot gravar em formato JPEG, — com economia de espaço

Depois de várias experiências, o “comando” acabou transformado nisso, — que funcionou com perfeição, para Captura “imediata” de tela:

gnome-screenshot -p -f "/media/$USER/F/000_print-screen/$(date +%F_%H-%M-%S)_D.jpg"

onde “-p” é o parâmetro para incluir o ponteiro do Mouse; e “-f” é o parâmetro para indicar o nome do arquivo, a ser salvo sem mais delongas.

Incluindo apenas o nome-de-arquivo, o Gnome-screenshot já começou a funcionar na mesma hora, — porém, não havia jeito dele aceitar o caminho “/media/flavio/F/000_print-screen/”, — copiado do Dolphin por CTRL-L / CTRL-C.

Testando parâmetros do gnome-screenshot para a pasta onde os arquivos devem ser salvos

A variável “$USER” foi inspirada em outro tópico do AskUbuntu, — intitulado “Default save directory for gnome-screenshot?”, — onde se encontra outra fórmula cabalística de dar nó em pingo d’água:

gsettings set "org.gnome.gnome-screenshot" "auto-save-directory" "file:///home/$USER/screenshot"

Fez-se, então, a luz. — Aquele cifrão “$” da primeira fórmula não é para “estar no começo” do nome, — nem a “HOME” estava em maiúsculas por mania de grandeza. — O nome desse negócio é “variável”, ou algo assim, e o cifrão “$” está ali para indicar isso.

Na primeira fórmula, não é citado o usuário ($USER), talvez porque a variável “$HOME” já cuida disso, — imagino eu (que não entendo lhufas dessa algaravia).

Para capturar Menus, — também em tela inteira, — pelo “Shift-Print”, foi usado o mesmo comando, com uma pequena variação:

gnome-screenshot -p -d 7 -f "/media/$USER/F/000_print-screen/$(date +%F_%H-%M-%S)_D.jpg"

onde o parâmetro “-d” indica o retardo (delay) em segundos, para dar tempo de abrir os Menus etc.

Na prática, foi constatado que muitas “camadas” e “menus” são flagrados em tempo real, — não impedem o “Print” de chamar, — nem impedem o “gnome-screenshot” de agir.

Apenas em alguns casos isso não funciona, — e o “Shift-Print” fica para essas ocasiões.

Os parâmetros utilizados foram obtidos pelo comando “gnome-screenshot --help” no Terminal:

flavio@Linux3:~$ gnome-screenshot --help
Uso:
  gnome-screenshot [OPÇÃO...]

Opções de ajuda:

  -h, --help                       Exibe opções de ajuda
  --help-all                       Exibe todas as opções de ajuda
  --help-gtk                       Mostra as opções do GTK+
  --help-gapplication              Mostrar opções do aplicativo-G

Opções de aplicativo:

  -c, --clipboard                  Send the grab directly to the clipboard
  -w, --window                     Grab a window instead of the entire screen
  -a, --area                       Grab an area of the screen instead of the entire screen
  -b, --include-border             Include the window border with the screenshot
  -B, --remove-border              Remove the window border from the screenshot
  -p, --include-pointer            Include the pointer with the screenshot
  -d, --delay=seconds              Take screenshot after specified delay [in seconds]
  -e, --border-effect=effect       Effect to add to the border (shadow, border, vintage or none)
  -i, --interactive                Interactively set options
  -f, --file=filename              Save screenshot directly to this file
  --version                        Print version information and exit
  --display=MONITOR                Monitor do X a ser utilizado

Parece pouco, — mas é mais do que se encontra em algumas páginas “oficiais” ou “oficiosas”, — e já permite mais algumas operações básicas, como captura de janela, de área, efeitos etc.

Uso mínimo de Memória RAM pelo gnome-screenshot

Talvez fiquem faltando plumas e paetês, — coisas como setas coloridas, legendas, upload etc., que não uso.

Em compensação, bastou instalar 1 único pacote (733 kB), que ocupa um mínimo de Memória RAM, por poucos segundos, — e torna a desaparecer da “Tabela de processos” do Monitor do sistema (KSysguard).

O KDE Spectacle costuma permanecer na Memória, — e quando resolve usar CPU em excesso, é preciso descobrir alguma solução para o mistério.

Notificações do Spectacle acumulando-se na tela, sem desaparecer

O “gnome-screenshot” ambém consegue ser mais discreto do que o Spectacle, — que coloca na tela um baita retângulo de “notificação”, durante intermináveis segundos, — e às vezes se “esquece” de fechar, obrigando a esperar, ou acertar no “x”.

••• Mensagens ocultas


Mensagens de erro do comando “gnome-screenshot” no Terminal do Debian testing KDE

Ao transformar o Debian 8.6 “Jessie” KDE em Debian “testing” KDE, os scripts de instalação tornaram a configurar as teclas de atalho “PrintScreen” para chamar o Spectacle, — e ao tentar reconfigurá-las para chamar o Gnome-screenshot, ficou a impressão de que ele não funcionava, ou talvez o comando não estivesse 100% católico.

Para tirar a dúvida, o comando foi colado no Terminal (Konsole), — e revelou-se a ocorrência de mensagens de erro:

flavio@Linux3:~$ gnome-screenshot -p -f "/media/$USER/F/000_print-screen/$(date +%F_%H-%M-%S)_Dgshot.jpg"

(gnome-screenshot:10400): Gtk-WARNING **: Failed to get the GNOME session proxy: The name org.gnome.SessionManager is not owned

(gnome-screenshot:10400): Gtk-WARNING **: Failed to get the Xfce session proxy: The name org.xfce.SessionManager is not owned

(gnome-screenshot:10400): Gtk-WARNING **: Failed to get an inhibit portal proxy: The name org.freedesktop.portal.Desktop is not owned
** Message: Unable to use GNOME Shell's builtin screenshot interface, resorting to fallback X11.

Mensagens de erro do comando “gnome-screenshot” no Terminal do Kubuntu

O teste foi repetido depois no Kubuntu 16.04, no KDE Neon User Edition e no Linux Mint 18 KDE, — onde nada jamais fez suspeitar de qualquer “erro”.

No Kubuntu:

flavio@linux1:~$ gnome-screenshot -p -f "/media/$USER/F/000_print-screen/$(date +%F_%H-%M-%S)_Kgshot.jpg"
** Message: Unable to use GNOME Shell's builtin screenshot interface, resorting to fallback X11.

Mensagens de erro do comando “gnome-screenshot” no Terminal do KDE Neon

Verifica-se que no Kubuntu e no KDE Neon o comando retorna apenas uma mensagem de erro.

No KDE Neon:

flavio@linux4:~$ gnome-screenshot -p -f "/media/$USER/F/000_print-screen/$(date +%F_%H-%M-%S)_Ngshot.jpg"
** Message: Unable to use GNOME Shell's builtin screenshot interface, resorting to fallback X11.

Comando “gnome-screenshot” no Terminal do Linux Mint KDE, único que não retorna mensagem de erro

O Linux Mint 18, — embora também com ambiente KDE, — foi o único onde o comando não retornou qualquer mensagem de erro.

É uma questão a investigar, — mas, enquanto isso, o gnome-screenshot continua em uso normal no Kubuntu, no KDE Neon e no Linux Mint KDE, pela tecla de atalho “PrintScreen”.

No caso do Debian 8.6 KDE transformado em “testing” KDE, a tecla de atalho “PrintScreen” permanece configurada para chamar o Spectacle, até pesquisar mais sobre o assunto.

___________
Publicado inicialmente em 13 Out. 2016.
••• “Mensagens ocultas” → Adicionado em 21 Out. 2016.

— … ≠ • ≠ … —

Ferramentas &tc.


Nenhum comentário:

Postar um comentário