Saat ini saya menggunakan dolphin 17.04.3
dan setiap kali saya menjalankannya sebagai sudo, ia memberikan kesalahan berikut
Executing Dolphin as root is not possible.
tanpa menjelaskan mengapa atau memberikan alternatif. Jadi bagaimana saya bisa menjalankan dolphin sebagai root untuk menyalin atau menghapus file?
14
Jawaban:
Pendek:
Dolphin 17.04
Dolphin 17.04 atau lebih baru memiliki cek:
Solusi
Anda dapat mengedit sumber dan menonaktifkan centang. Maka Dolphin akan bekerja seperti sebelumnya.
Dolphin 18.08
Beberapa permintaan ulasan
Izinkan kembali menjalankan Dolphin sebagai pengguna root (tetapi masih tidak menggunakan sudo): https://phabricator.kde.org/D12795
Tampilkan peringatan saat berjalan sebagai pengguna root: https://phabricator.kde.org/D12732
Dolphin 18.08.0 menggunakan perubahan ini dan Dolphin dapat diluncurkan dengan perintah pkexec sebagai pengguna super administratif.
More: KDE Foruns - Bagaimana menjalankan Dolphin 18.08 sebagai root dengan Kubuntu atau neon KDE? - https://forum.kde.org/viewtopic.php?f=224&t=153655
Latar Belakang:
Sebelumnya - Forum KDE - Bagaimana menjalankan Dolphin sebagai root ?: https://forum.kde.org/viewtopic.php?f=224&t=141836
Demi alasan keamanan: Larang mengeksekusi Dolphin sebagai root di Linux - https://cgit.kde.org/dolphin.git/commit/?id=0bdd8e0b0516555c6233fdc7901e9b417cf89
Larang mengeksekusi kate dan kwrite sebagai root di Linux: https://phabricator.kde.org/R40:9adcebd3c2e476c8a32e9b455cc99f46b0e12a7e
Lebih banyak tips
KDE Reddit - Root Dolphin pada Aplikasi KDE 17.04: https://www.reddit.com/r/kde/comments/6785b1/dolphin_root_on_kde_app_1704/
Bypass "Menjalankan Dolphin sebagai root tidak mungkin" dan Dapatkan Kembali KDE Dolphin Root Privileges: https://www.reddit.com/r/kde/comments/6xs3mp/bypass_executing_dolphin_as_root_is_not_possible/
Masa depan
Dukungan Polkit di KIO: https://phabricator.kde.org/T6561
Ketika sudah siap, Dolphin akan menampilkan permintaan kata sandi jika diperlukan. Sekarang, dengan Dolphin & KIO yang ditambal:
sumber
Bukan jawaban, hanya solusi untuk tujuan yang disebutkan oleh OP (
copying or deleting files
).Idenya adalah untuk
instal file manager lain yang tidak memiliki batasan itu dan yang tidak membawa banyak dependensi
buat menu konteks "Open as root" di Dolphin untuk pengelola file ini.
Manajer file utama dari desktop lain dapat digunakan (Nautilus, Nemo, Caja, Thunar) tetapi mereka membawa beberapa dependensi. Bahkan PCManFM dan PCManFM-Qt melakukan itu. Jika Anda memerlukan salah satu dari itu untuk beberapa tujuan lain, tambahkan itu bisa menjadi solusi yang baik.
Saya telah menemukan bahwa Krusader (yang saya pikir di masa lalu dulu diinstal secara default di beberapa sistem KDE) dapat dengan mudah diinstal, tidak membawa dependensi di Kubuntu 18.04, dan dapat digunakan sebagai root.
Di bawah Tools-nya, ia memiliki opsi "Root".
yang meminta kata sandi dalam gui.
Untuk menambahkan menu konteks dalam lumba-lumba, buat folder
~/.local/share/kservices5/ServiceMenus
dan kemudian lakukandan tambahkan
Untuk beberapa alasan
kdesu krusader
tidak berfungsi, dan saya telah menggunakan solusinya dari sini .. Yang juga berfungsi adalahkonsole -e sudo krusader
, tetapi itu menunjukkan terminal bukan gui untuk kata sandi prompt.Kemudian, Anda akan melihat di Dolphin:
membawa dialog
yang merupakan salah satu yang berfungsi ..
sumber
Saya telah membuat versi saya sendiri berdasarkan balasan di atas. Jadi, untuk menambahkan menu konteks untuk membuka Dolphin sebagai root ikuti langkah-langkah ini:
DolphinAsRoot.desktop
pada direktori~/.local/share/kservices5/ServiceMenus/
Itu saja, saya harap ini membantu Anda semua seperti itu membantu saya;)
sumber
Yang saya lakukan hanyalah menambahkan Terminal ke bilah alat (meskipun pintasan keyboard terikat ke F4) dan menggunakan baris perintah untuk melakukan operasi seperti sudo seperti yang diperlukan.
Seperti itu
Ya itu mungkin tidak nyaman tetapi memaksa Anda untuk mulai belajar baris perintah sementara memberi Anda representasi visual tentang bagaimana sebenarnya perintah itu bekerja.
Ini ada di Arch tetapi fungsinya harus sama di Ubuntu. Harapan itu membantu.
sumber
ini dia solusi untuk Dolphin 17.x:
dapatkan
libkdeinit5_dolphin.so
dari siniDiuji oleh saya, itu berfungsi dengan baik di Ubuntu bionic.
sumber
sumber
Itu sepele!
Lihat saja kode sumber kate dan kwrite:
Di baris pertama kode langsung pada awal fungsi "utama", Anda akan menemukan:
Lumba-lumba tidak berbeda, kecuali ini terjadi di libkdeinit5_dolphin.so.
Jadi menjalankan sebagai root adalah sepele, yang perlu kita lakukan adalah melewatkan if uid = 0 check.
Cara kita melakukan ini, adalah dengan memperbaiki kate, kwrite dan lumba-lumba.
Jadi, hal pertama yang kami lakukan, adalah membuang konten biner ke file teks:
Sekarang Anda dapat melihat file dengan
gedit ~/kate.txt
, dan jika Anda mencari getuid, Anda akan menemukan sesuatu seperti:Sekarang, di sisi kiri, Anda menemukan alamat memori, setelah titik dua (:) Anda akan melihat kode instruksi biner (hex) dan di sebelah kanan itu, Anda melihat pembongkaran kode itu (alias apa artinya) .
Sekarang, Anda lihat, ada yang memanggil getuid, menguji apakah itu nol dan melompat ke pernyataan if, artinya jika nilai pengembalian sama dengan nol (je: jump if equal).
Sekarang kami tidak ingin melompat ke if, jadi kami hanya menghapus omong kosong itu di sana. Tetapi hanya menghapus omong kosong itu akan mengubah alamat dengan 6 byte, membuang semua lompatan relatif dalam program dalam proses, dan sebagai konsekuensinya, program. Jadi alih-alih, Anda hanya mengganti seluruh panjang pernyataan lompatan dengan instruksi NOP (kependekan dari N o Op eration), alias 0x90 dalam kode instruksi / hex.
Jadi, Anda perlu mengganti setiap byte melompat di sana dengan 0x90 jadi di mana sebelumnya Anda miliki
Anda akan memiliki
Ini bisa dilakukan hanya dengan hex-editor.
Jadi kami memasang satu:
Sekarang di hex editor, Anda mencari 0f 84 e9 1e 00 00, dan menggantinya dengan 90 90 90 90 90 90. Jika hanya ada satu kejadian 0f 84 e9 1e 00 00, dan ada, maka ini adalah hal yang sederhana. Ubah saja byte dalam hex menjadi 90 90 90 90 90 90 dan simpan. Jadi. Kate atau kwrite sekarang akan terbuka, apakah Anda root atau tidak.
jika Anda melakukan hal yang sama dengan lumba-lumba, Anda akan menyadari
objdump -Crd /usr/bin/dolhin
menghasilkan pembongkaran yang sangat singkat.jika Anda menjalankan
ldd /usr/bin/dolphin
, Anda akan melihat lumba-lumba memuat perpustakaan bersama libkdeinit5_dolphin.soJadi, Anda melakukan objdump di libkdeinit5_dolphin.so:
Sekarang buka objdump:
gedit ~/libkdeinit5_dolphin.txt
Cari getuid, dan Anda akan melihat bahwa salah satu hasil pencarian adalah:
Ini bagus, Anda tahu, lebih banyak omong kosong seperti di kate dan kwrite.
Sekarang buka
/usr/lib/x86_64-linux-gnu/libkdeinit5_dolphin.so
di hex-editor Anda, cari0f 84 58 1a 00 00
dan ganti dengan90 90 90 90 90 90
.Hit save, dan selesai.
Dolphin sekarang berjalan sebagai root.
Catatan: Ide bagus untuk membuat salinan cadangan dari file yang Anda modifikasi, kalau-kalau Anda gagal.
Juga, Anda bisa mengunduh sumber kate, kwrite, dan lumba-lumba, menghapus omong kosong itu dari kode sumber, kompilasi dan instal. Tapi karena sistem cmake bodoh kehilangan beberapa template crap crap untuk beberapa omong kosong bodoh seperti ikon, mungkin karena cmake repo yang disediakan terlalu lama, ini tidak berfungsi. Sayang sekali, akan terlalu sederhana jika itu hanya berhasil, bukan.
Tapi hanya menambal executable seperti yang saya jelaskan lebih cepat, jadi siapa yang peduli.
Anda tahu, ini tidak langsung, tetapi sepele.
PS:
Sekarang, kapan pun kate, kwrite atau lumba-lumba diperbarui melalui apt, perubahan Anda akan ditimpa. Anda harus mendaftar ulang. Saya akan meninggalkan otomatisasi proses tambalan di tangan Anda yang lebih dari cukup, dan bahasa pemrograman Anda untuk joice;)
Bisakah ini dilakukan di bash murni?
Juga, jika Anda ingin menambal vlc untuk omong kosong yang sama, Anda dapat melakukannya dengan sed:
Cukup masukkan pernyataan sed itu ke dalam skrip, sehingga Anda dapat mendaftar ulang, jika perlu jika Anda sedang luring dan tidak memiliki akses internet.
Selamat melakukan peretasan - dengan kate, kwrite dan lumba-lumba - sebagai root - sambil menonton / mendengarkan sesuatu di vlc.
PS2:
Pemeriksaan root jelek berjalan seperti Dodo di KDE v19.04.
Siapa bilang n evolusi adalah hal yang buruk.
Untuk maju - Ceria!
sumber
Bukan solusi, tetapi saran .... Mengubah Dolphin dan file agak berisiko. Double Commander adalah alternatif yang sangat baik, dan ditemukan di tempat penyimpanan. Ini akan menginstal tanpa root proviledges. Untuk mendapatkan root, cukup masukkan 'sudo doublecmd' di terminal. Ini memiliki banyak keuntungan ketika bekerja dengan jutaan file.
sumber