แอปพลิเคชัน Snap ไม่เห็นไฟล์จากพาร์ติชันอื่น


15

ฉันติดตั้งแพคเกจ KeePassXC snap บน Ubuntu 17.10 ฉันมีระบบลินุกซ์หลายตัวติดตั้งอยู่ในไดรฟ์เดียวกันดังนั้นฉันจึงสร้างโฟลเดอร์ในบ้านของฉันส่วนใหญ่เช่น ~ / เอกสารที่สร้างขึ้นเป็นลิงก์ไปยังพาร์ติชัน ext4 แยกต่างหาก (ผู้ใช้มี uid เดียวกันดังนั้นสิทธิ์ถูกต้อง) ฉันพยายามเปิดฐานข้อมูลรหัสผ่านที่ฉันมีอยู่ในเอกสาร แต่ keepassxc ไม่สามารถดูไฟล์ใด ๆ ในเอกสารได้ ถ้าฉันวางไฟล์ในโฟลเดอร์บ้านของฉันมันจะเห็นไฟล์นั้น

แพ็คเกจ snap สามารถค้นหาไฟล์ภายนอกจากโฟลเดอร์บ้านของฉันได้หรือไม่? มีวิธีใดที่จะทำให้ KeePassXC (และแพคเกจสแน็ปส่วนที่เหลือ) เข้าถึงไฟล์ที่พาร์ติชัน ext4 แยกต่างหากของฉัน


ฉันคิดว่าลิงค์ยากถูกห้ามมิให้ข้ามพาร์ติชั่น!
George Udosen

2
จอร์จฉันสงสัยว่าพวกเขากำลังเชื่อมโยง
Kyle

คำตอบ:


15

โดยทั่วไปแล้ว Snaps จะถูก จำกัด โดยค่าเริ่มต้น snaps สามารถเข้าถึงอะไรนอกจากพื้นที่เขียนได้ของพวกเขา แต่พวกเขาสามารถได้รับอนุญาตผ่านทางอินเตอร์เฟส มีอินเทอร์เฟซสองตัวที่ให้ความสามารถในการเข้าถึงไฟล์นอกเหนือจากค่าเริ่มต้นคือhomeอินเตอร์เฟสและremovable-mediaส่วนต่อประสาน ฉันถือว่า KeePassXC ใช้homeอินเตอร์เฟสซึ่งเป็นวิธีที่คุณสามารถเข้าถึง~/Documentsได้ บางทีมันก็ใช้removable-mediaอินเตอร์เฟซ แต่สิ่งที่ครอบคลุมเฉพาะการติดตั้งเข้าไปในหรือ/media /mntหากพาร์ทิชันอื่นของคุณติดตั้งอยู่ที่อื่น snap จะไม่ได้รับอนุญาตให้ติดตาม symlinks

วิธีที่จะทำให้งานนี้เรียงลำดับตามความยากลำบาก:

  1. เมานต์พาร์ติชันในโฮมไดเร็กตอรี่ของคุณ
  2. ประกอบพาร์ติชั่นเข้ากับ/mediaและให้แน่ใจว่า KeePassXC ใช้removable-mediaอินเตอร์เฟส นี่อาจเป็นการเปลี่ยนแปลงต้นน้ำ แต่เป็นการเปลี่ยนแปลงเล็กน้อย
  3. เปลี่ยน KeePassXC เป็น snap แบบคลาสสิกทำให้ไม่ จำกัด อีกต่อไป นี่เป็นการเปลี่ยนแปลงที่ใหญ่กว่าและต้นน้ำอาจไม่สนใจ

ปรับปรุง: KeyPassXC snapcraft.yamlเป็นที่นี่ ดูเหมือนว่าจะมีremovable-mediaส่วนต่อประสานอยู่แล้ว สิ่งที่คุณต้องทำเพื่อติดตาม (2) คือการเชื่อมต่อ (มันไม่ได้เชื่อมต่อโดยอัตโนมัติ):

$ sudo snap connect keepassxc:removable-media

ขอบคุณมาก!! คำอธิบายที่ดีจริง ๆ และคำสั่งsudo snap connect keepassxc:removable-mediaทำเคล็ดลับ !!
Thanos Apostolou

2
ข้อผิดพลาด: snap "keepassxc" ไม่มีปลั๊กชื่อ "Removable-media"
Erdnase

2
@Erdnase ติดตั้ง keepassxc อยู่หรือไม่
Tahlor

น่าทึ่ง! แต่ไม่มีผู้ใดของพาร์ทิชันของฉันจะติดตั้งอยู่ภายใต้สื่อสื่อความหมายสำหรับการจัดเก็บข้อมูลที่ถอดออกได้ ... วิธีการอาจระบบดังกล่าวที่น่าอึดอัดใจได้รับการคิดค้น
yota

0

นี่คือการแก้ไขอย่างรวดเร็วเพื่อให้แอปพลิเคชัน snap ทำงานเหมือนกับการติดตั้งแบบคลาสสิกนั่นคือไม่มีข้อ จำกัด ใด ๆ

เพียงแค่สร้าง symlink ให้กับไบนารีใน / usr / local / bin เช่น:

/ usr / local / bin / pdftk -> / snap / pdftk / current / usr / bin / pdftk

(น่าแปลกใจที่แอพพลิเคชั่นนี้กำลังทำการติดตั้งด้วย "confinement: เข้มงวด" ซึ่งน่ารำคาญมากเพราะมันจะไม่ทำงานกับไฟล์จากระบบไฟล์อื่น)


นี่เป็นความคิดที่ไม่ดี - การใช้งานไบนารีโดยไม่ใช้สแน็ปโดยไม่ได้ใช้แอพที่กำหนดมักจะล้มเหลวเพราะไม่ได้รับตัวแปรสภาพแวดล้อมทั้งหมดที่คาดไว้ แม้ว่ามันจะทำงาน แต่มันจะถูกยกเลิกการกำหนดค่าและจะสิ้นสุดการเขียนข้อมูลที่ไม่ควรทำ
Kyle

0

เพียงเพิ่มคำตอบของ Kyleแพ็คเกจบางส่วนจากUbuntu Software Storeต้องการคำสั่งนี้ด้วย

ในกรณีของฉันkdenliveไม่สามารถอ่านฮาร์ดไดรฟ์อื่นของฉันได้ คำสั่งต่อไปนี้ทำงาน:

sudo snap connect kdenlive:removable-media
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.