O problema é que quando você usa o sudo, ele cria um novo ambiente sem configurações do X.
Existem duas opções: primeiro, você pode usar sudo -E gparted
para tentar preservar o ambiente, tente, se isso funcionar é provavelmente a opção mais segura.
Se não, você precisa configurar a conta root do seu servidor para permitir o login através do ssh, para que você possa ssh root@server
, que deve definir o encaminhamento e o ambiente apropriados.
Primeiro, no servidor, em /etc/ssh/sshd_config
, verifique se ele tem:
-
X11Forwarding yes
-
PermitRootLogin without-password
Em seguida, adicione a chave pública ssh do seu cliente à conta raiz no servidor. Se você já pode ssh para o servidor sem senha com seu usuário normal, use sudo -i
para iniciar uma sessão raiz interativa. Então:
-
%código%. Isso é apenas para que um diretório
ssh localhost
inicial seja criado. - Copie o arquivo
.ssh
do usuário normal:authorized_keys
Agora, no sistema remoto, tente cp /home/normaluser/.ssh/authorized_keys ~/.ssh
. Você deve conseguir efetuar login sem senha. Verifique se a saída mostra que o encaminhamento do X foi ativado. Então você poderá executar ssh -v root@server
remotamente.
Além disso, não é preciso dizer, mas arriscar as partições de um sistema remoto é arriscado; garantir que você tenha um backup de dados importantes no caso de um desastre acontecer:)