Aplikasi Snap tidak melihat file dari partisi lain

14

Saya telah menginstal paket snap KeePassXC di Ubuntu 17.10. Saya memiliki beberapa sistem linux yang diinstal pada drive yang sama, jadi saya telah membuat sebagian besar folder home saya seperti ~ / Dokumen yang dibuat sebagai tautan ke partisi ext4 yang terpisah (pengguna memiliki uid yang sama sehingga izinnya benar). Saya mencoba membuka basis data kata sandi yang saya miliki di dalam Dokumen, tetapi keepassxc tidak dapat melihat file di dalam Dokumen. Jika saya meletakkan file di folder rumah saya maka akan melihatnya.

Apakah paket snap dapat menemukan file di luar dari folder rumah saya? Adakah cara untuk membuat KeePassXC (dan paket snap lainnya) mengakses file di partisi ext4 terpisah saya (mungkin beberapa konfigurasi di suatu tempat)?

Thanos Apostolou
sumber
Saya pikir tautan keras dilarang melintasi partisi!
George Udosen
2
George, aku curiga itu symlink.
Kyle

Jawaban:

14

Terkunci biasanya terbatas. Secara default, snaps tidak dapat mengakses apa pun selain area yang dapat ditulisi sendiri, tetapi mereka dapat memperoleh izin melalui antarmuka. Ada dua antarmuka yang menyediakan kemampuan untuk mengakses file di luar standar: homeantarmuka, dan removable-mediaantarmuka. Saya berasumsi KeePassXC menggunakan homeantarmuka, yang merupakan cara Anda dapat mengakses ~/Documents. Mungkin bahkan menggunakan removable-mediaantarmuka, tetapi itu hanya mencakup hal-hal yang terpasang /media. Jika partisi Anda yang lain dipasang di tempat lain, snap tidak akan memiliki izin untuk mengikuti symlink.

Cara-cara untuk membuat ini bekerja, diperintahkan oleh kesulitan:

  1. Pasang partisi ke direktori home Anda daripada menghubungkannya.
  2. Pasang partisi ke dalam /mediadan pastikan KeePassXC menggunakan removable-mediaantarmuka. Ini mungkin perubahan hulu, tetapi perubahan kecil.
  3. Ubah KeePassXC menjadi snap klasik, sehingga membuatnya tidak lagi terbatas. Ini adalah perubahan yang lebih besar dan hulu mungkin tidak tertarik.

Pembaruan: KeyPassXC snapcraft.yamlada di sini . Sepertinya sudah memiliki removable-mediaantarmuka. Yang perlu Anda lakukan untuk mengikuti (2) adalah menghubungkannya (itu tidak terhubung secara otomatis):

$ sudo snap connect keepassxc:removable-media
Kyle
sumber
Terima kasih banyak!! Penjelasan yang sangat bagus dan perintahnya sudo snap connect keepassxc:removable-mediaberhasil !!
Thanos Apostolou
2
kesalahan: snap "keepassxc" tidak memiliki steker bernama "removable-media"
Erdnase
2
@ Enrdnase apakah keepassxc diinstal?
Tahlor
0

Berikut ini adalah perbaikan cepat untuk membuat aplikasi snap berfungsi sebagai instalasi klasik, yaitu tidak ada batasan apa pun.

Cukup buat symlink ke biner ke / usr / local / bin, seperti:

/ usr / local / bin / pdftk -> / snap / pdftk / saat ini / usr / bin / pdftk

(Anehnya, aplikasi spesifik ini sedang diatur dengan "kurungan: ketat", yang sangat menjengkelkan karena, pada saat itu, itu tidak akan berfungsi pada file dari sistem file lain.)

Pierre Thibaudeau
sumber
Ini adalah ide yang buruk - menjalankan biner dari snap tanpa menggunakan aplikasi yang didefinisikannya akan sering gagal karena tidak mendapatkan semua variabel lingkungan yang diharapkan. Bahkan jika itu berjalan, itu akan menjadi tidak terbatas dan pada akhirnya akan menulis data di tempat yang tidak seharusnya.
Kyle