inSANE: Um Script para automatizar (um pouco) o SANE [Shell Script]

E o shellcheck está correto, vc coloco ‘#’ antes das funções que iriam ser chamadas, isso significa que elas são comentário e não serão invocadas, o shellcheck está correto.

Elas não vão funcionar, elas não estão sendo invocadas, a um erro no patch, o shellcheck esta correto.
A explicações do shellcheck é confusa, mas aqui esta a pagina com mais detalhe e com exemplo do erro SC2329.
https://www.shellcheck.net/wiki/SC2329

A tá é uma pegadinha do @Suporte , ele fez de propósito para brincar de falar do function, e eu cai.

A ideia seria ajudar nas configurações iniciais do scanner no Linux.

check_sudo => verifica se o usuário esta no grupo SUDO. Se verdadeiro chama check_saned_status.

check_saned_status => Verifica se o serviço saned esta ativo em varias distribuições Linux. Em caso negativo informa ao usuário como ativar o serviço.

A troca do Zenity pelo Yad é para maior compatibilidade em sistema que não usa o GNOME.


No script só é usado SUDO na parte onde verifica o status do serviço saned.

Obs: O SUDO não deveria ser usado no Linux.


O módulo do scanner ai funciona com o modelo correto ou ele pega outro modelo para funcionar?

Esse serviço seria para o Scanner via rede? Pois no meu Arch, o saned não está habilitado e mesmo assim o Script funciona bem.

No caso, tinha colocado o Zenity apenas para exibir uma barra de progresso. E mesmo sem o Zenity, aqui continua funcionando, pois ele não é obrigatório para o Script. E na sua versão, o Script não funciona sem o yad

E algumas distros não tem o lsusb, como no Arch. A não ser que isso seja alguma coisa que tenho que instalar a mais.

E quanto aos grupos, aqui o meu usuário não está no grupo scanner, e ainda assim a minha versão funciona.

Tive que tirar as referências ao Yad, e colocar o comando echo no lugar e comentar algumas partes que não se aplicariam à minha instalação, e esse aqui havia sido o resultado:

Não sei se foi pelas modificações que tive que fazer para testar, mas não funcionou como deveria. Mas posso testar no Mint que está em meu notebook antigo.

Fornecer suporte a scanners de rede (opcional).

1 curtida

É para usuário comum que não tem conhecimento sobre Linux por isso o uso do Yad.

O Yad pode ser executado em sistemas com outros ambientes gráficos além do GNOME, contanto que o GTK+ esteja instalado.

Para usuário comum do windows abrir o terminal vai ser uma novela :rofl: :rofl: :rofl: :rofl: Nada que um arquivo .desktop não resolva.

1 curtida

Essa filosofia de manter o sistema o mais minimalista possível. O Arch Linux instala apenas o essencial. Agora o lsusb não seria essencial? :thinking: :thinking: :thinking: :thinking:

O comando lsusb é parte do pacote usbutils no Arch Linux.

A função verificar_scanner que usa o comando lsusb esta desativada por padrão.

1 curtida

No seu caso esta no grupo wheel.

Para usuário comum:

O grupo scanner é utilizado para conceder permissões a usuários que precisam acessar
scanners. Quando um usuário é adicionado a esse grupo, ele ganha permissão para acessar
e usar scanners conectados ao sistema.

Os usuários no grupo scanner podem interagir com o hardware de digitalização sem precisar
de permissões adicionais de superusuário (Root).

O grupo lp permite que usuários acessem e controlem impressoras conectadas ao sistema.
Adicionar um usuário a esse grupo permite que ele use impressoras locais ou em rede sem a
necessidade de permissões elevadas (como Root).

1 curtida

1- Em relação ao erro do visualizador de imagem já adicionei na atualização do script vários (“gthumb” “feh” “ristretto” “eog” “shotwell” “gwenview” “sxiv” “mirage” “viewnior” “nomacs” “pix” “xnview” “qiv” “gpicview” “okular” “luminance” “display”).

Qual você usa?

2- O erro de não localizar o scanner não esta na falta de ativa o fabricante no arquivo .conf e verificar pelos comando # sane-find-scanner ou # scanimage -L?

Screenshot 2025-01-30 at 04-19-04 inSANE Um Script para automatizar (um pouco) o SANE Shell Script - Eu que fiz! _ Desenvolvimento - Diolinux Plus

Agora só abre o arquivo se o valor não for ZERO.

1 curtida

Será que alguém já configurou um scanner pela rede wifi da impressora 100%?

O scanimage -L até mostra o IP só que o xsane retorna E/S :rofl: :rofl: :rofl: :rofl: :rofl: :rofl:

Via USB funciona 100%.

1 curtida

@rapoelho então, os pull request são propostas feitas por um programador para o mantenedor do programa que no caso é vc, mas é o mantenedor quem decide o que vai ou não ser implementado, e vc também pode entrar em contato e avisar que tais recursos não estão planejados no projeto. Mas são apenas propostas.

1 curtida

Rapaz eu não entende o que vc esta dizendo, o zenity funciona aqui no Kubuntu que usa QT. Eu não sei se é porque a Canonical deixa tudo mastigado, eu só sei que eu dou apt install e já saio usando.

Agora ficou mais claro. Acho que daria para testar e implementar isso. Agora é ver como testar isso com a minha Epson.

Posso ver uma forma de colocar o YAD também, mas sem tornar ele obrigatório.

Talvez, fazer o script de forma que ele pode funcionar com uma interface separadamente. Tipo um insane-gui.

Não faço ideia… mas o comando aparece como “não encontrado”.

E nas outras distros, esse grupo também dá acesso aos Scanners ou depende de distro para distro?

Utilizo o Loupe do Gnome. Mas nesse caso o xdg-open não funcionaria?

Entendi! Estava vendo formas de melhorar o Script, e esses PR me deram uma boa ideia.

Como o .insane.conf ser apenas um arquivo de configurações mesmo, e mover as configurações de escaneamento para uma pasta separada, como se fossem perfis de configurações.

E fazer uma interface gráfica (usando o Zenity ou o YAD), mas deixando ela como opcional, com o script funcionando mesmo sem a interface.

Eu entendi mais que o Zenity é MUITO Gnome. Tipo, ele faz diálogos que se encaixam no Gnome (e nas interfaces baseadas no Gnome Shell), mas que ficam um pouco deslocados em outras interfaces mais clássicas.

Se vc quiser tem a interface gráfica dialog, segue foto:

$ dialog --msgbox 'Olâ, Mundo!' 60 60

Qual o modelo da Epson?

Hoje aqui foi o dia de testar o scanner via wifi… Resultado não foi :rofl: :rofl: Acredito que a comunicação deve ser algo proprietário.
O comando scanimage -L ate mostra o ip só não tem comunicação.

scanimage --device “Aqui entra o resultado do comando scanimage -L” --format=tiff --output-file test.tiff --progress e nem o xsane vai…

Se o sistema tiver OK o xdg-open vai funcionar.

Tem caso onde deveria abrir o visualizador de imagem abre outro programa para abrir os arquivos de imagem.

Ex: usuário defini um programa de texto para abrir um png

O Zenity e a atualização do GTK ficou ruim para usuários que não usam o Gnome.

É uma L3150.

Entendi. Já tive problemas com o XDG, quando ele estava abrindo pastas no Amberol (!!) quando eu abria as pastas pelo Sushi (aquela pré-visualização do Nautilus).

Ou ver alguma opção do YAD e/ou no Zenity para abrir a imagem neles. Acho que poderia funcionar melhor. Pois além de ter um monte de programas que abrem imagens, vários deles tem a opção em Flatpak, o que iria adicionar mais complexidade para essa função.

Vamos tirar a prova dos nove…

Usando o próprio programa da Epson para Linux o scanner via rede wifi funciona?

Testa isso usando uma distro em modo live.

Aqui se instalar os pacotes iscan, iscan-data e sane-epkowa o xsane não funcionar (Falha de segmentação).

http://download.ebz.epson.net/man/linux/iscan_e.html#sec7

Eu usava o programa via rede da Epson (tanto o .deb no Ubuntu como o Flatpak e a versão do AUR no Arch), e o escaneamento via rede funcionava.