ฉันจะป้องกันไม่ให้ไฟล์ 'ล่าสุด-used.xbel' ถูกสร้างขึ้นได้อย่างไร?


11

ฉันต้องการป้องกันไม่ให้อูบุนตู 12.10 สร้างรายการไฟล์ "ที่ใช้ล่าสุด" อย่างถาวร รายการนี้ดูเหมือนจะถูกเก็บไว้ในไฟล์:

/home/user/.local/share/recently-used.xbel

ฉันได้ลองลบไฟล์นี้แล้ว แต่มันก็ถูกสร้างขึ้นใหม่ทุกครั้งที่ฉันเริ่มเซสชันการเข้าสู่ระบบใหม่ ฉันจำเป็นต้องรู้วิธีป้องกันไฟล์นี้ไม่ให้ถูกสร้างขึ้นมาใหม่


ฉันชอบที่จะเห็นการแก้ไขนี้เช่นกัน
กลับรายการใน

ใครบางคนสามารถส่งข้อผิดพลาดใน bugzilla.gnome.org?
int_ua

คำตอบ:


12

หากต้องการปิดใช้งานรายการสำหรับแอปพลิเคชันที่ใช้GTK 3 ให้ทำตามขั้นตอนเหล่านี้:

rm ~/.local/share/recently-used.xbel

หากไม่มี "~ / .config / gtk-3.0 / settings.ini"

mkdir -p ~/.config/gtk-3.0
    echo -e "[Settings]\ngtk-recent-files-max-age=0\ngtk-recent-files-limit=0" > ~/.config/gtk-3.0/settings.ini

หากนั่นคือ "~ / .config / gtk-3.0 / settings.ini"

echo -e "\ngtk-recent-files-max-age=0\ngtk-recent-files-limit=0" >> ~/.config/gtk-3.0/settings.ini

(โปรดสังเกตว่า ">>" เทียบกับ ">" ความแตกต่าง; ">>" ต่อท้ายไฟล์ในขณะที่ ">" จะเขียนทับไฟล์อย่างสมบูรณ์โดยไม่ต้องสำรองข้อมูลหากมีอยู่แล้ว)

และในทั้งสองกรณี:

rm ~/.local/share/recently-used.xbel

หากต้องการปิดใช้งานรายการสำหรับแอปพลิเคชันที่ใช้GTK 2 ให้ทำตามขั้นตอนนี้

echo gtk-recent-files-max-age=0 >> ~/.gtkrc-2.0

ขั้นตอนเหล่านี้ดีกว่าการเปลี่ยนการอนุญาตในไฟล์เนื่องจากจะป้องกันไม่ให้มีการแสดงข้อความแสดงข้อผิดพลาดเมื่อเรียกใช้แอปพลิเคชันที่ใช้ GTK ซึ่งอาศัยไฟล์

ข้อมูลรายละเอียดสามารถดูได้ที่นี่ - https://alexcabal.com/disabling-gnomes-recently-used-file-list-the-better-way/


มันจะดีถ้าคุณใส่รหัสที่แท้จริงสำหรับgtk2และgtk3ในคำตอบของคุณ ผู้คนสามารถดูลิงค์สำหรับพื้นหลังหากต้องการ มันจะมีประโยชน์ในกรณีที่ลิงก์ไม่สามารถเข้าถึงได้

@ vasa1 ความคิดที่ดีจะทำในไม่ช้า
kingmilo

1
โอเคฉันทำการเปลี่ยนแปลงลบบุ๊กมาร์กทั้งหมดจากเพิ่งใช้แล้ว xbel และเข้าสู่ระบบอีกครั้ง ฉันสร้างไฟล์ไม่กี่ไฟล์ ดูดีมาก แม้ว่าดูเหมือนว่าบางโปรแกรมอาจมีรายการ"ที่เพิ่งใช้งาน" ภายในของตนเอง ดูเหมือนว่า LibreOffice Calc จะเป็นหนึ่งในนั้น

1
จุดสุดท้ายจุดหนึ่ง :) บางคนยังสามารถค้นหาสิ่งที่เข้าถึงได้ ดูรหัสนี้ตัวอย่าง: find ~/{Documents,Desktop,Downloads,Music} -ctime -1 -type f -exec bash -c 'select f;do [[ -n $f ]]&&xdg-open "$f"||exit;done' _ '{}' +. ก็ขึ้นอยู่กับข้อเสนอแนะโดยschraggeในหัวข้อนี้recently-used.xbelและไม่พึ่งพา Bottom line: หากบุคคลอื่นเข้าถึงพีซีมาตรการ "ธรรมดา" จะไม่เพียงพอ

1
หมายเหตุ: การตั้งค่าเหล่านี้ไม่ได้ป้องกันการเขียนดิสก์เพิ่มเติม:(meld:3588): Gtk-WARNING **: Attempting to store changes into '/home/user/.local/share/recently-used.xbel', but failed: Failed to rename file '/home/user/.local/share/recently-used.xbel.ZT44NX' to '/home/user/.local/share/recently-used.xbel': g_rename() failed
int_ua

1

ฉันพบว่าการเล่นซอกับไฟล์ที่เพิ่งใช้ xbe l ไม่มีผลกระทบ (อย่างน้อยใน Ubuntu 17.04+) คุณสามารถลบ, ล้างมัน, / dev / null, ตั้งค่าไม่เปลี่ยนรูป, ยิงมันในทางใดทางหนึ่งและมันจะไม่ทำงาน ตัวอย่างเช่น Nautilus มีส่วน "ที่ใช้ล่าสุด" เดินสายเข้าไปในแผงด้านข้าง - และมันไม่สามารถลบได้ด้วยวิธีการใด ๆ และยังคงอยู่ไฟล์. xbel ที่ถูกกำจัด

ใน GNOME / Ubuntuทำสิ่งนี้ (ซึ่งใช้ได้กับฉัน):

  1. เปิดเทอร์มินัลแล้วเริ่มคำพังเพย
$ gnome-control-center
  1. ไปที่ "กลุ่มความเป็นส่วนตัว" และคลิกที่ "ความเป็นส่วนตัว" ป้อนคำอธิบายรูปภาพที่นี่

  2. คลิกที่ "การใช้งานและประวัติ" และชุดโต้ตอบดังต่อไปนี้ "เพิ่งใช้" สลับไปปิด

เมื่อคุณทำสิ่งนี้คุณจะเห็นรายการ "ที่ใช้ล่าสุด" ใน Nautilus จะว่างเปล่า (สิ่งนี้จะลบไฟล์. xbel - ลองดูด้วย) เสร็จสิ้น


1

ก่อนหน้านี้ไม่ว่าคุณจะทำอะไร แต่คุณสามารถทำให้ไม่เปลี่ยนรูปได้ดังนั้นจึงหยุดการบันทึกและว่างเปล่า คำสั่ง: sudo chattr + i ~ / .local / share / ล่าสุด-used.xbel. ระบบและคุณเช่นกันจะไม่สามารถทำอะไรกับมันได้จนกว่าคุณจะเปลี่ยน + i (ไม่เปลี่ยนรูป) นี่เป็นคำสั่งย้อนกลับเพื่อรีสตาร์ทการบันทึกอีกครั้ง: sudo chattr -i ~ / .local / share / เมื่อเร็ว ๆ นี้ used.xbel (เฉพาะในกรณีที่คุณต้องการให้การทำงานที่เพิ่งใช้อีกครั้งด้วยเหตุผลบางอย่าง) ฉันประสบความสำเร็จในการล้างข้อมูลออกจากระบบโดยย้ายโฟลเดอร์ไปที่ / dev / shm และคอมพิวเตอร์ปิดเครื่อง โฟลเดอร์กลับมาว่างเปล่า


0

ถึงตอนนี้ไฟล์นี้จะถูกสร้างใหม่แม้ว่าคุณจะ chown ไปที่รูทหรือทำให้มันไม่เปลี่ยนรูปก็ตาม แม้ว่าคุณจะตั้งค่าอายุสูงสุดเป็น 0 แต่ก็ยังจำไดเรกทอรีได้

ฉันใช้วิธีแก้ไขปัญหาที่ล้างไฟล์นี้ทุก 5 นาที มันเป็นวิธีแก้ปัญหาที่น่ารังเกียจมาก: สร้างรายการ cron ที่ล้างไฟล์บ่อยๆ:

crontab -e

# clear gtk recently used list every 5 minutes
*/5 *   *   *   *   echo "" > .local/share/recently-used.xbel

บางแอปพลิเคชั่นยังคงเป็นค่าเริ่มต้นของรายการที่ใช้ล่าสุด แต่สิ่งนี้เป็นไปตามคำถามของคุณเพื่อป้องกันไม่ให้ Ubuntu 12.10 สร้างรายการไฟล์ "ที่ใช้ล่าสุด" อย่างถาวร


-1

สมมติว่าเป็นเพียงไฟล์ที่คุณต้องการป้องกันการเขียนคุณสามารถลองเปลี่ยนการอนุญาตเพื่อไม่ให้เข้าถึงได้

ก่อนอื่นให้ลบไฟล์ จากนั้นสร้างรายการใหม่ที่ว่างเปล่า จากนั้นปรับแต่งการอนุญาต

cd ~/.local/share
rm recently-used.xbel
touch recently-used.xbel
chmod 000 recently-used.xbel

หากคุณต้องการคุณสามารถเปลี่ยนความเป็นเจ้าของเพื่อไม่ให้โปรแกรมทำงานในขณะที่ผู้ใช้ของคุณสามารถเปลี่ยนการอนุญาตและเขียนมัน:

sudo chown root:root recently-used.xbel

บางโปรแกรมอาจมีข้อผิดพลาด (มีหรือไม่มีการปรับแต่งขั้นสุดท้าย)


มีความคิดใดที่โปรแกรมจะเขียนไปยังไฟล์นั้น

ฉันเห็นไฟล์นี้ (xml) ใน Lubuntu ซึ่งไม่มี Zeitgeist, AFAIK

ฉันได้รับพรอมต์ที่คืนมา ใช่ของฉันคือการติดตั้ง Lubuntu อย่างแท้จริง

1
แอปพลิเคชั่นที่ใช้งาน @ vasa1 GTK เขียนลงไฟล์นั้น
kingmilo

โปรแกรม GTK จะออกข้อผิดพลาดไปยัง stderr หากไฟล์นี้เป็น chmod ถึงรูทโดยเฉพาะอย่างยิ่งไฟล์จะถูกสร้างใหม่ในฐานะผู้ใช้ในฐานะเจ้าของ ลึกลับจัง! วิธีนี้ดูเหมือนจะไม่ทำงาน
กลับรายการใน
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.