Eu sei que o que eu quero fazer é um pouco incomum, mas eu preciso rodar uma versão bem antiga do gThumb (2.10.11, vindo do Ubuntu 10.04) no Ubuntu 20.04.
(Alguém me perguntou nos comentários o porquê, então aqui vai a explicação: essa versão antiga tem um modo de apresentação de slides muito bom, que fornece vários recursos que a versão atual do gThumb presente no Ubuntu 20.04 não oferece. Entre eles estão: 1) opção " ajuste à tela apenas para imagens maiores" funciona no modo de apresentação de slides; 2) As animações GIF são reproduzidas no modo de apresentação de slides; 3) a tecla de atalho "I" - exibir informações sobre a imagem atual - funciona no modo de apresentação de slides. Tudo isso NÃO funciona no gThumb atual).
Até agora, consegui coletar todas as bibliotecas antigas necessárias para executar este aplicativo em um único diretório (para que todas as dependências sejam satisfeitas), o aplicativo é iniciado e a GUI aparece (captura de tela abaixo). No entanto, o aplicativo não consegue se comunicar com o daemon GNOME VFS atual e, portanto, não carrega o conteúdo da pasta, portanto, na verdade, é inutilizável. A seguinte mensagem de erro aparece no terminal:
(gthumb:13485): libgnomevfs-WARNING **: 13:34:54.800: Failed to activate daemon: The name org.gnome.GnomeVFS.Daemon was not provided by any .service files
Definitivamente, há alguma incompatibilidade entre o daemon GNOME VFS antigo e o novo e o aplicativo não pode se comunicar com ele. Existe alguma maneira de corrigir isso e fazer o aplicativo ser executado no meu sistema - por exemplo, fazendo com que o aplicativo não use VFS, mas apenas leia diretamente do disco? (exceto ter que reconstruir o aplicativo sozinho, pois não vejo isso viável)
Como o problema está relacionado ao VFS, tentei substituir a libgnomevfs-2.so.0
biblioteca que copiei do Ubuntu 10.04 pela mais nova que encontrei, que é do Ubuntu 18.04 (não há libgnomevfs-2.so.0
biblioteca disponível para 20.04). No entanto, o efeito é o mesmo. Portanto, a mudança para VFS deve ter ocorrido entre 18.04 e 20.04.
Você quebrará o sistema operacional devido a problemas de dependências. Por isso, sugiro: Baixe o Ubuntu 10.04 aqui . Instale-o no contêiner da VM e execute o aplicativo nele.
Consegui resolver o problema. O problema era que, além do daemon GNOME VFS regular (
/usr/libexec/gvfsd
, ou/usr/lib/gvfs/gvfsd
em versões mais antigas do Ubuntu), havia outro daemon usado pelo gThumb até o Ubuntu 18.04 -/usr/lib/gnome-vfs-2.0/gnome-vfs-daemon
. Este daemon não está mais presente no Ubuntu 20.04, então o antigo gThumb não pode acessar arquivos/pastas no disco. Foi necessário copiar o daemon para o Ubuntu 20.04, para que a aplicação possa utilizá-lo.A solução completa para fazer o aplicativo rodar é a seguinte (isso é longo e provavelmente ninguém além de mim está interessado nisso, mas como resolvi o problema eu posto uma resposta, talvez alguém no futuro possa usá-lo :)):
(BTW. Suponho que tudo isso pode ser transformado em um pacote AppImage, se eu soubesse como fazê-lo :))
/opt/gthumb_old
./opt/gthumb_old
(eu tinha essa instalação disponível; caso não esteja disponível, você precisa identificar os pacotes que contêm esses arquivos, baixá-los e extrair os arquivos, o que requer mais trabalhar):Os arquivos
/usr/lib/*.so.*
ou acima/lib/*.so.*
são links simbólicos para outros arquivos, então é claro que você deve copiar o arquivo para o qual o link aponta, mas o nome de destino deve ser o do link. (Se você usarcp
ouscp
copiar os nomes acima, não precisa se preocupar com isso, pois isso acontece automaticamente.)Você também precisa fazer um link simbólico
/usr/lib/x86_64-linux-gnu/libjpeg.so.8
paralibjpeg.so.62
./opt/gthumb_old
O aplicativo espera vincular,libjpeg.so.62
mas alibjpeg.so.62
biblioteca original copiada do Ubuntu 10.04 não funciona corretamente e os arquivos JPEG não são exibidos; então usaremos a biblioteca do sistema atual.crie um diretório
/opt/gthumb_old/glade
e copie o conteúdo da/usr/share/gthumb/glade
instalação do Ubuntu 10.04 para este diretório.crie um diretório
/opt/gthumb_old/modules
e copie o conteúdo da/usr/lib/gthumb/modules
instalação do Ubuntu 10.04 para este diretório.crie um diretório
/opt/gthumb_old/vfs_modules
e copie o conteúdo da/usr/lib/gnome-vfs-2.0/modules
instalação do Ubuntu 10.04 para este diretório.crie um diretório
/opt/gthumb_old/modules_conf
e copie o conteúdo da/etc/gnome-vfs-2.0/modules
instalação do Ubuntu 10.04 para este diretório.crie um subdiretório
.gtk-2.0/x86_64-pc-linux-gnu/engines
em seu/home/username
diretório e copie o arquivo/usr/lib/gtk-2.0/2.10.0/engines/libmurrine.so
do Ubuntu 10.04 para este diretório. Isso é necessário para que menus e outros gadgets de interface do usuário sejam exibidos corretamente (o aplicativo funcionará sem esse arquivo, mas a interface do usuário ficará um pouco distorcida). Se você não tem o Adobe Reader 9 instalado (a última versão disponível para Linux), pode pular ox86_64-pc-linux-gnu
subdiretório intermediário e colocar o arquivo apenas em.gtk-2.0/engines
. Mas se você tiver o Adobe Reader instalado (como eu), ele precisa de uma versão de 32 bits do arquivolibmurrine.so
, que deve estar localizada em.gtk-2.0/i686-pc-linux-gnu/engines
, portanto, é melhor usar a versão "mais longa".crie um link simbólico
/usr/share/gthumb/glade
apontando para/opt/gthumb_old/glade
.crie um link simbólico
/usr/lib/gthumb/modules
apontando para/opt/gthumb_old/modules
(o diretório/usr/lib/gthumb
não existe na instalação padrão do Ubuntu 20.04, então você deve criá-lo primeiro)crie um link simbólico
/usr/lib/gnome-vfs-2.0/modules
apontando para/opt/gthumb_old/vfs_modules
(o diretório/usr/lib/gnome-vfs-2.0
não existe na instalação padrão do Ubuntu 20.04, então você deve criá-lo primeiro)crie um link simbólico
/etc/gnome-vfs-2.0/modules
apontando para/opt/gthumb_old/modules_conf
(o diretório/etc/gnome-vfs-2.0
não existe na instalação padrão do Ubuntu 20.04, então você deve criá-lo primeiro)crie um script
/opt/gthumb_old/gvfsd_wrapper
com o seguinte conteúdo (o arquivo deve ser executável):/usr/share/dbus-1/services/gnome-vfs-daemon.service
do Ubuntu 10.04 para o mesmo diretório no Ubuntu 20.04 (/usr/share/dbus-1/services
) e edite- o da seguinte maneira. O arquivo original tem o seguinte conteúdo:Altere para:
/usr/local/bin/gthumb_old
para executar o aplicativo:(você também pode criar um lançador no menu ou painel do GNOME referindo-se a este script).
O aplicativo não entra em conflito com o gThumb 3.8.0 existente do Ubuntu 20.04, pois armazena seus dados de configuração em um local diferente. Ambos podem ser usados independentemente, mas há um possível problema descrito abaixo.
Observe que o aplicativo trava em um diretório de imagens que possui um
.comments
subdiretório contendo comentários criados pela versão mais recente do gThumb. Portanto, caso o aplicativo falhe após entrar em algum diretório, você deve excluir o.comments
subdiretório.Também encontrei um caso estranho com dois arquivos de imagem específicos (dos vários milhares que tenho). O aplicativo travou em um diretório que continha links simbólicos para esses dois arquivos que estavam em outro diretório (quando substituí os links simbólicos por cópias dos arquivos ou links físicos, não houve travamento - aconteceu apenas nesses dois arquivos). Se você não tiver links simbólicos em seus diretórios de imagem, esse problema não deve aparecer.
Captura de tela final do aplicativo de trabalho: