Atualmente, uso dolphin 17.04.3
e sempre que o executo como sudo, ocorre o seguinte erro
Executing Dolphin as root is not possible.
sem explicar o porquê ou dar uma alternativa. Então, como posso executar o dolphin como root para copiar ou excluir arquivos?
14
Respostas:
Baixo:
Dolphin 17.04
O Dolphin 17.04 ou posterior tem uma verificação:
Uma solução alternativa
Você pode editar as fontes e desativar a verificação. Então o Dolphin funcionará como antes.
Dolphin 18.08
Pouca solicitação de revisão
Permitir novamente a execução do Dolphin como usuário root (mas ainda não usando o sudo): https://phabricator.kde.org/D12795
Mostre um aviso ao executar como usuário root: https://phabricator.kde.org/D12732
O Dolphin 18.08.0 está usando essas alterações e o Dolphin pode ser iniciado com o comando pkexec como superusuário administrativo.
Mais: KDE Foruns - Como executar o Dolphin 18.08 como root no Kubuntu ou KDE neon? - https://forum.kde.org/viewtopic.php?f=224&t=153655
Fundo:
Anterior - Fóruns do KDE - Como executar o Dolphin como root ?: https://forum.kde.org/viewtopic.php?f=224&t=141836
Por razões de segurança: Proibir a execução do Dolphin como root no Linux - https://cgit.kde.org/dolphin.git/commit/?id=0bdd8e0b0516555c6233fdc7901e9b417cf89
Proibir a execução de kate e kwrite como root no Linux: https://phabricator.kde.org/R40:9adcebd3c2e476c8a32e9b455cc99f46b0e12a7e
Mais dicas
KDE Reddit - root Dolphin no KDE App 17.04: https://www.reddit.com/r/kde/comments/6785b1/dolphin_root_on_kde_app_1704/
Ignore "Não é possível executar o Dolphin como root" e recupere os privilégios de raiz do KDE Dolphin: https://www.reddit.com/r/kde/comments/6xs3mp/bypass_executing_dolphin_as_root_is_not_possible/
Futuro
Suporte do Polkit no KIO: https://phabricator.kde.org/T6561
Quando estiver pronto, o Dolphin mostrará a consulta de senha, se necessário. Agora, com o Dolphin & KIO corrigido:
fonte
Não é uma resposta, apenas uma solução alternativa para a finalidade mencionada pelo OP (
copying or deleting files
).A ideia é
instale outro gerenciador de arquivos que não tenha essa limitação e que não traga muitas dependências
crie um menu de contexto "Abrir como raiz" no Dolphin para esse outro gerenciador de arquivos.
Os principais gerenciadores de arquivos de outros desktops podem ser usados (Nautilus, Nemo, Caja, Thunar), mas trazem algumas dependências. Até o PCManFM e o PCManFM-Qt fazem isso. Se você precisar de um desses para algum outro propósito, adicionar esse pode ser uma boa solução.
Eu descobri que o Krusader (que eu acho que no passado era instalado por padrão em alguns sistemas KDE) pode ser facilmente instalado, não traz dependências no Kubuntu 18.04 e pode ser usado como root.
Nas ferramentas, ele possui a opção "Root".
que pede senha em uma GUI.
Para adicionar um menu de contexto no dolphin, crie a pasta
~/.local/share/kservices5/ServiceMenus
e façae adicione
Por alguma razão
kdesu krusader
não funciona, e eu usei a solução daqui .. O que também funciona ékonsole -e sudo krusader
, mas isso mostra o terminal em vez de uma interface gráfica para o prompt de senha.Então, você verá no Dolphin:
trazendo um diálogo
qual é aquele que funciona ..
fonte
Eu criei minha própria versão com base nas respostas acima. Portanto, para adicionar um menu de contexto para abrir o Dolphin como raiz, siga estas etapas:
DolphinAsRoot.desktop
no diretório~/.local/share/kservices5/ServiceMenus/
Isso é tudo, espero que ajude a todos, como me ajudou;)
fonte
Tudo o que fiz foi adicionar o Terminal à barra de ferramentas (embora o atalho do teclado estivesse vinculado ao F4) e usei a linha de comando para executar operações com o sudo conforme necessário.
Igual a
Sim, pode não ser tão conveniente, mas força você a começar a aprender a linha de comando enquanto fornece uma representação visual de como o comando realmente funciona.
Isso está no Arch, mas a funcionalidade deve ser a mesma no Ubuntu. Espero que tenha ajudado.
fonte
aqui está uma solução alternativa para o Dolphin 17.x:
obter
libkdeinit5_dolphin.so
a partir daquiTestado por mim, funciona bem no Ubuntu biônico.
fonte
fonte
É trivial!
Basta olhar para o código fonte de kate e kwrite:
Nas primeiras linhas de código diretamente no início da função "principal", você encontrará:
O Dolphin não é diferente, exceto que isso acontece em libkdeinit5_dolphin.so.
Portanto, rodar como root é trivial, tudo o que precisamos fazer é pular a verificação if uid = 0.
A maneira como fazemos isso é através da aplicação permanente de patches kate, kwrite e golfinho.
Então, a primeira coisa que fazemos é despejar o conteúdo binário em um arquivo de texto:
Agora você pode olhar para o arquivo e
gedit ~/kate.txt
, se procurar por getuid, encontrará algo como:Agora, no lado esquerdo, você encontra o endereço da memória, depois dos dois pontos (:), você verá o código de instruções binárias (hex) e, à direita, verá a desmontagem desse código (também conhecido como o que significa) .
Agora, veja bem, lá chama getuid, testa se esse é zero e pula para a instrução if, ou seja, se o valor de retorno é igual a zero (je: jump se igual).
Agora não queremos pular para o if, então apenas removemos essa porcaria lá. Mas apenas remover essa porcaria mudaria de endereço em 6 bytes, descartando quaisquer saltos relativos no programa no processo e, como conseqüência, no programa. Então, ao invés você apenas substituir todo o comprimento da instrução salto com NOP (abreviatura de N S Op peração) instruções, aka 0x90 na instrução de código / hex.
Então você precisa substituir cada byte de salto por 0x90, para onde você tinha anteriormente
voce terá
Isso pode ser feito simplesmente com um editor hexadecimal.
Então, instalamos um:
Agora, no editor hexadecimal, procure 0f 84 e9 1e 00 00 e substitua por 90 90 90 90 90 90. Se houver apenas uma ocorrência de 0f 84 e9 1e 00 00, e houver, isso é trivialmente simples. Apenas altere os bytes em hexadecimal para 90 90 90 90 90 90 e salve. Acabado. Agora, o Kate ou o kwrite serão abertos, seja você root ou não.
se você fizer o mesmo com o golfinho, perceberá que
objdump -Crd /usr/bin/dolhin
produz uma desmontagem muito curta.se você executar
ldd /usr/bin/dolphin
, você verá o dolphin carregar a biblioteca compartilhada libkdeinit5_dolphin.soEntão você faz o objdump em libkdeinit5_dolphin.so:
Agora abra o objdump:
gedit ~/libkdeinit5_dolphin.txt
Pesquise getuid e verá que um dos resultados da pesquisa é:
Isso é ótimo, veja bem, mais porcaria como em Kate e Kwrite.
Agora abra
/usr/lib/x86_64-linux-gnu/libkdeinit5_dolphin.so
no seu editor hexadecimal, procure0f 84 58 1a 00 00
e substitua-o por90 90 90 90 90 90
.Clique em salvar e pronto.
O Dolphin agora roda como root.
Nota: É uma boa ideia fazer uma cópia de backup dos arquivos que você modifica, caso você se arrependa.
Além disso, você pode simplesmente baixar a fonte de kate, kwrite e dolphin, remover essa porcaria do código-fonte, compilar e instalar. Mas como o sistema cmake estúpido está faltando algum modelo de porcaria de porcaria, como ícones, provavelmente porque o cmake fornecido novamente é muito antigo, isso não funciona. Que pena, teria sido muito simples se funcionasse, não?
Mas apenas corrigir os executáveis como eu descrevi é mais rápido, então quem se importa de qualquer maneira.
Veja bem, não é simples, mas é trivial.
PS:
Agora, sempre que o kate, o kwrite ou o dolphin forem atualizados via apt, suas alterações serão substituídas. Você precisará reaplicá-los. Vou deixar automatizar o processo de correção nas suas mãos mais do que capazes e na sua linguagem de programação do joice;)
Isso pode ser feito em pura festa?
Além disso, se você deseja corrigir o vlc para a mesma porcaria, pode fazê-lo com o sed:
Basta colocar a declaração sed em um script, para que você possa se inscrever novamente, se precisar, se estiver offline e não tiver acesso à Internet.
Happy hacking - com kate, kwrite e dolphin - como root - enquanto assiste / ouve algo no vlc.
PS2:
As verificações de raiz ruins foram o caminho do Dodo no KDE v19.04.
Quem disse que n evolução era uma coisa ruim.
Para progredir - Saúde!
fonte
Não é uma solução, mas uma sugestão .... Alterar o Dolphin e os arquivos é bastante arriscado. O Double Commander é uma excelente alternativa e pode ser encontrada no repositório. Ele será instalado sem restrições de raiz. Para ganhar root, basta digitar 'sudo doublecmd' no terminal. Tem muitas vantagens ao trabalhar com arquivos grandes e milhões.
fonte