Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ซอฟต์แวร์ >> Office

แก้ไขข้อผิดพลาดการบันทึก LibreOffice อย่างรวดเร็วและปลอดภัย

สิ่งที่ผมจะพูดถึงวันนี้เคยเป็นปัญหาใหญ่ในอดีต มีบั๊กใน LibreOffice เวอร์ชัน 4.X ที่ทำให้เกิดข้อผิดพลาดการบันทึกแปลกๆ ทำให้ผู้ใช้สูญเสียข้อมูล ตอนนี้เป็นเรื่องเก่าแล้ว คุณอาจไม่คิดว่ามันเกี่ยวข้องกับการใช้งานประจำวันอีกต่อไป แต่จะเป็นอย่างไรหากเกิดขึ้นอีก และ LibreOffice ของคุณไม่สามารถบันทึกการเปลี่ยนแปลงที่ทำในเอกสารได้?

จริงๆ ผมกำลังทำงานบนไฟล์บนโฮสต์ที่มี LibreOffice 4.X และด้วยเหตุผลบางอย่าง autosave ทำให้ lock file หายไป หลังจากนั้นโปรแกรมเริ่มบ่นเกี่ยวกับข้อผิดพลาดการบันทึก โดยเฉพาะ: error in writing sub-document content.xml หากคุณเคยเจอสิ่งนี้ คุณจะไม่สูญเสียข้อมูลอย่างไร?

สิ่งง่ายๆ ก่อน

คุณควรคัดลอกข้อมูลไปยัง text editor ก่อน แล้วลองเปิดอินสแตนซ์ LibreOffice อีกตัว และ/หรือสร้างไฟล์ใหม่และคัดลอกเนื้อหาไป แล้วบันทึกและต่อไป ลองบันทึกไฟล์ด้วยชื่อใหม่ (Save as) หากวิธีเหล่านี้ล้มเหลว คุณต้องพิจารณาการ hack เล็กน้อย

Lock files

LibreOffice สร้าง lock files เมื่อคุณเปิดเอกสาร เพื่อป้องกันการเขียนหลายครั้งไปยังไฟล์เดียวกัน สิ่งต่างๆ นี้ Lock files มีรูปแบบ: .~lock.<name>.odt# เนื่องจากขึ้นต้นด้วยจุด คุณอาจไม่เห็นใน file explorer ของ Linux แต่พวกมันอยู่จริง

ไฟล์นี้อาจหายไป — หาก autosave หรือบั๊กอื่นทำให้มันหายไป และในกรณีนั้น LibreOffice อาจลำบากในการทำหน้าที่และ commit การเปลี่ยนแปลงไปยังดิสก์ หากเกิดขึ้น คุณอาจพิจารณาสร้าง dummy lock file หากคุณมีปัญหากับรูปแบบ ให้เปิดเอกสาร LibreOffice แบบสุ่มในรูปแบบเดียวกับไฟล์ที่มีปัญหา เช่น ODT แล้วคัดลอก lock file ของมันและเปลี่ยนชื่อให้ตรงกับไฟล์ที่มีข้อผิดพลาดการบันทึก จริงๆ ให้เริ่มต้นด้วยการคัดลอก lock file จากเอกสารอื่น

Locked by

ผมลองทำ และก้าวหน้าบ้างในปัญหาของผม ตอนนี้ LibreOffice บ่นว่าไฟล์ถูกล็อกไว้สำหรับแก้ไข คุณสามารถเปิดไฟล์เป็น read-only copy แต่จะสูญเสียการเปลี่ยนแปลง หรือเปิด copy ซึ่งอาจได้ แต่อาจไม่ได้ ไม่มีการรับประกัน

คุณต้องสนใจชื่อของบุคคล (ผู้ใช้) ที่ล็อกไฟล์ เพราะจะกำหนดว่าคุณสามารถใช้ lock file ได้หรือไม่ และว่าคุณจะมีสิทธิ์ที่ถูกต้องในการบันทึกไฟล์หรือไม่ เริ่มต้นคุณอาจเห็นข้อผิดพลาด: The object cannot be accessed due to insufficient user rights เพราะเราเพิ่งคัดลอก lock file และข้อมูลในนั้นอาจไม่ตรงกับที่เราต้องการหรือต้องการ

รูปแบบ Lock file

มาย่อยเนื้อหา lock file พวกมันเป็นไฟล์ข้อความธรรมดา เปิดใน text editor ใดๆ ได้ และแก้ไขตามต้องการ เช่น คุณอาจเห็น:

Dedoimedo,HOST/roger,HOST,03.04.2016 17:10,file:///C:/Users/roger/AppData/Roaming/LibreOffice/4;

เรามีชื่อผู้ล็อกไฟล์ hostname, username, timestamp, และ path ไปยังโปรไฟล์ LibreOffice ข้อมูลจะต่างกันเล็กน้อยระหว่าง Windows และ Linux แตคุณเข้าใจแนวคิดแล้ว หากไม่เข้าใจ อีเมลมาหาผมได้

เพื่อใช้ lock file จากเอกสารอื่น คุณต้องแน่ใจว่า username, profile และรายละเอียดอื่นๆ ตรงกับเจ้าของเอกสารที่มีข้อผิดพลาดการบันทึก เปลี่ยนให้ตรงกัน แล้วลองบันทึกไฟล์ คุณควรจะโอเคแล้ว ตอนนี้คุณรู้วิธีสร้าง dummy lock files หากเจอบั๊กนี้อีก

Recovery (การกู้คืน)

หาก LibreOffice เข้าสู่ลูปบ้าที่บันทึกไฟล์แล้วล้มเหลว เพราะอาจไม่มีสิทธิ์ที่ถูกต้อง คุณอาจต้อง kill โปรแกรมแล้วกู้คืนเอกสาร แต่แล้วคุณจะสูญเสียการเปลี่ยนแปลงส่วนใหญ่ ซึ่งไม่ช่วยอะไรให้เรา

สรุป

สรุปสั้นๆ: หากเจอข้อผิดพลาดการบันทึก ตรวจสอบว่ามี lock file อยู่หรือไม่ มักจะไม่มี สร้าง lock file ใหม่ — หรือคัดลอกมาหนึ่ง แต่ต้องปฏิบัติตาม命名規則 (naming convention) ที่ถูกต้อง และเพิ่มรายละเอียดที่ถูกต้องใน lock file เพื่อให้คุณมีสิทธิ์บันทึกไฟล์ ควรจะช่วยคุณหลุดพ้นจาก deadlock และหวังว่าจะเก็บรักษางานหนักของคุณได้ทั้งหมด

ไม่อย่างไร หากอ่านออนไลน์ จะมีการกล่าวถึงการอัปเดตซอฟต์แวร์มากมาย แน่นอนว่าทำงานได้ แต่ไม่ช่วยคนที่มีปัญหาจริงอยู่ตอนนี้ ในกรณีนี้ วิธีแก้คือ อยู่เงียบและกำจัด... ผมหมายถึง ทำความเข้าใจว่า LibreOffice ทำงานอย่างไร แล้วหลอกมันให้คิดว่าทุกอย่างโอเค Lock files, permissions นั่นคือหัวใจสำคัญ หวังว่าคู่มือเล็กๆ นี้จะช่วยประหยัดเบคอนบางคนได้ นั่นแหละทั้งหมด

Cheers.