Preciso executar o Firefox (ou algum outro navegador da web, mas prefiro o Firefox) em uma máquina virtual Unix não local (ou seja, não no meu PC, não acessível via LAN) e então controlá-la usando teclado e mouse, porque alguns sites só funcionam com Javascript e não permitem downloads a menos que eu esteja logado. ssh -X
não resolve, porque é um saco de usar a menos que você esteja conectado à Internet com 10 Gbit/s. E eu realmente não sinto vontade de instalar um dos ambientes de desktop "leves" e gordos como Gnome ou Xfce. E é claro que o Firefox não deve ser executado como root.
Acabei instalando o seguinte no meu Ubuntu 20.04:
apt-get install firefox xterm icewm xvfb x11vnc
(em vez deicewm
, você pode usarfluxbox
,i3
ou o gerenciador de janelas de sua escolha, mas então você pode ter que iniciar o xterm antes de poder executar o Firefox). Em seguida, executeiNo meu PC em casa eu então executei
Depois disso, eu pude iniciar o Firefox dentro do icewm do jeito do clique do mouse. Iniciar o Firefox diretamente (sem o icewm) não funcionou, porque o Firefox inicia com uma janela minúscula e sem decorações de janela e, portanto, não pode ser redimensionado para um tamanho utilizável. Você também pode fazer isso sem o Xvfb, usando um servidor X comum, mas isso foi ainda mais trabalhoso. Você precisa
gtf
exrandr
(dex11-xserver-utils
) para alterar a resolução da tela e potencialmente precisa executarxhost +SI:localuser:user
para permitiruser
a execução de aplicativos X (porque, ao contrário do que li "deveria funcionar", usuários não root no Ubuntu não podem executar aplicativos X por padrão se eu o instalar como um servidor headless sem ambiente de desktop - não sei por quê).Uma desvantagem do Xvfb é que você provavelmente não conseguirá controlar o Firefox/Icewm a partir do painel de controle do servidor do seu hoster (a menos que esse painel permita que você use uma conexão VNC com parâmetros arbitrários).