Usando o disown
bash construído, consigo xdg-open
para desanexar de gksudo
, mas não pode fazer nada sobre nautilus
:
O comando:
gksudo --description "Launch a root Nautilus" -- bash -c "xdg-open / & disown"
O efeito:
$ pstree -ps $(pgrep -u root nautilus)
init(1)───lightdm(1095)───lightdm(1537)───init(1545)───xdg-open(29323)───nautilus(29376)─┬─{nautilus}(29378)
├─{nautilus}(29380)
├─{nautilus}(29381)
└─{nautilus}(29382)
Infelizmente, isso deixa o gksudo
por aí, sem fazer nada:
$ pstree -ps $(pgrep gksudo)
init(1)───lightdm(1095)───lightdm(1537)───init(1545)───test.sh(29601)───gksudo(29604)─┬─{gksudo}(29605)
├─{gksudo}(29606)
├─{gksudo}(29608)
└─{gksudo}(29610)
Se você não se importa com um hack, este script pode se livrar do processo gksudo
, supondo que você possa digitar rápido o suficiente:
#! /bin/bash
gksudo --description "Launch a root Nautilus" -- bash -c "xdg-open / & disown; exit" &
sleep 10; kill %1
Se você não conseguir digitar rápido o suficiente, ajuste a sleep
de duração.