ฉันอายุ 12.04 แต่จะใช้งานได้ในเวลา 13.10 ด้วย
ใช่มันเป็นไปได้ที่จะเปลี่ยนตัวบ่งชี้สำหรับความสามัคคี เราสามารถใช้ GSettings เพื่อแก้ไขการตั้งค่า แต่เนื่องจากผู้ใช้ lightdm ทำงานแบบ unity-greeter เท่านั้น (ดังนั้นการตั้งค่าจึงไม่ส่งผลกระทบต่อผู้อื่น) จึงเป็นการง่ายที่สุดในการเขียน.override
ไฟล์
1. ตรวจสอบตัวบ่งชี้เริ่มต้น
คุณสามารถดูตัวบ่งชี้เริ่มต้นของคุณในdconf-editor
หรือ/usr/share/glib-2.0/schemas/com.canonical.unity-greeter.gschema.xml
ไฟล์ ในไฟล์หลังคุณจะเห็นคีย์คล้ายกับสิ่งนี้:
<key name="indicators" type="as">
<default>['ug-keyboard', 'ug-accessibility', 'session', 'datetime', 'power', 'soundmenu', 'application']</default>
<summary>Which indicators to load</summary>
</key>
นั่นคือค่าเริ่มต้นสำหรับฉัน ตรวจสอบของคุณก่อน
ใน 13.10 คีย์นี้มีลักษณะเช่นนี้:
<key name="indicators" type="as">
<default>['ug-accessibility', 'com.canonical.indicator.keyboard', 'com.canonical.indicator.session', 'com.canonical.indicator.datetime', 'com.canonical.indicator.power', 'com.canonical.indicator.sound', 'application']</default>
<summary>Which indicators to load</summary>
</key>
2. ตรวจสอบตัวบ่งชี้ที่มีอยู่
คุณสามารถตรวจสอบตัวบ่งชี้ที่มีอยู่ใน/usr/lib/indicators3/7/
ไดเรกทอรีหรือใน/usr/share/unity/indicators/
ไดเรกทอรี
3. เขียนไฟล์แทนที่
เพียงแค่เขียนไฟล์ที่มีเนื้อหาคล้ายกันและบันทึกเป็น /usr/share/glib-2.0/schemas/myoverride.gschema.override
สำหรับ 12.04
[com.canonical.unity-greeter]
indicators=['ug-keyboard', 'ug-accessibility', 'session', 'datetime', 'power', 'soundmenu', 'application', 'messaging']
สำหรับ 13.10
[com.canonical.unity-greeter]
indicators=['ug-accessibility', 'com.canonical.indicator.keyboard', 'com.canonical.indicator.session', 'com.canonical.indicator.datetime', 'com.canonical.indicator.power', 'com.canonical.indicator.sound', 'application', 'messages']
ในรุ่น 12.04 ฉันเพิ่มตัวบ่งชี้การส่งข้อความไปยังรายการเริ่มต้นที่ 12.04 ในเวอร์ชั่น 13.10 ฉันเพิ่มตัวบ่งชี้ข้อความไปยังรายการเริ่มต้นของ 13.10 ฉันเพิ่งเพิ่มพวกเขาไปยังรายการเริ่มต้นที่แสดงในขั้นตอนที่ 1คุณสามารถทำเช่นนั้นได้หรือลบบางส่วนออกจากตัวบ่งชี้เริ่มต้นหากคุณไม่ต้องการให้ปรากฏบนหน้าจอเข้าสู่ระบบ (ระวังเครื่องหมายอะโพสโทรฟี) สิ่งสำคัญ : ในวันที่ 12.04 คุณจะต้องมีตัวบ่งชี้' แป้นพิมพ์ ug'และตัว'เซสชัน'ในรายการดังนั้นอย่าลบออกหากคุณมีพวกเขาในบรรทัดเริ่มต้นหรือ lightdm จะติดอยู่ ในการวนซ้ำไม่รู้จบ (เช่นที่นี่ )
แบบแผนการตั้งชื่อในไฟล์แทนที่:สำหรับไฟล์ใน/usr/lib/indicators3/7/
ไดเรกทอรีชื่อไฟล์ก่อนหน้า "lib" และตอนจบ ".so" นั้นไม่สำคัญดังนั้นสำหรับไฟล์ชื่อ libmessaging.so เราสามารถใช้ 'libmessaging.so', 'libmessaging' หรือ 'ส่งข้อความ' สำหรับไฟล์ใน/usr/share/unity/indicators/
ไดเรกทอรีชื่อไฟล์ก่อนหน้านี้คือ "com.canonical.indicator" ไม่สำคัญดังนั้นสำหรับไฟล์ "com.canonical.indicator.bluetooth" เราสามารถใช้ 'com.canonical.indicator.bluetooth' หรือเพียงแค่ "บลูทู ธ "
4. สำรองข้อมูล (ในกรณี)
ทำการสำรองข้อมูลของ/usr/share/glib-2.0/schemas/gschemas.compiled
ไฟล์
5. รวบรวม
หลังจากทั้งหมดนี้ทำงาน
sudo glib-compile-schemas /usr/share/glib-2.0/schemas
6. ตรวจสอบผลลัพธ์
หลังจากนี้พยายามออกจากระบบและดูว่ามันทำงาน หรือคุณสามารถทดสอบหน้าจอเข้าสู่ระบบโดยไม่ต้องออกจากระบบถ้าคุณลองจากเทอร์มินัล:
lightdm --test-mode
หรือ
unity-greeter --test-mode
สำหรับฉันในวันที่ 12.04 ตัวบ่งชี้การส่งข้อความใช้งานได้ตัวบ่งชี้เครื่องพิมพ์เมนูของฉันไม่ทำงาน ใน 13.10 ฉันทดสอบกับตัวบ่งชี้ข้อความและมันไม่ปรากฏขึ้น แต่ไม่มีการสร้างข้อผิดพลาดดังนั้นฉันเดาว่ามันเป็นเพราะการออกแบบที่ไม่ปรากฏบนหน้าจอหน้าจอเพราะมันไม่มีประโยชน์ที่นั่น ดังนั้นฉันจึงตรวจสอบ/usr/share/unity/indicators/com.canonical.indicator.messages
ไฟล์และยืนยันว่าไม่มีส่วน [desktop_greeter] เช่นตัวบ่งชี้เซสชันมี ดังนั้นหากคุณไม่ได้ตัวบ่งชี้ข้อความ (หรือตัวบ่งชี้อื่นที่ไม่มีส่วน [desktop_greeter]) ปรากฏขึ้นบนหน้าจอเข้าสู่ระบบ (แม้ว่าส่วนใหญ่จะไม่มีประโยชน์ที่นั่น) คุณจะต้องแก้ไขไฟล์ใน/usr/share/unity/indicators/
ไดเรกทอรีและ ทำสำเนาของส่วน [เดสก์ท็อป] ในไฟล์นั้นและเปลี่ยนชื่อสำเนาเป็นส่วน [desktop_greeter] เช่นสำหรับตัวบ่งชี้ข้อความฉันลงเอยด้วยไฟล์นี้สำหรับ/usr/share/unity/indicators/com.canonical.indicator.messages
:
[Indicator Service]
Name=indicator-messages
ObjectPath=/com/canonical/indicator/messages
Position=50
[desktop]
ObjectPath=/com/canonical/indicator/messages/desktop
[phone]
ObjectPath=/com/canonical/indicator/messages/phone
[desktop_greeter]
ObjectPath=/com/canonical/indicator/messages/desktop
หลังจากทำการเปลี่ยนแปลงในไฟล์ตัวบ่งชี้ข้อความก็ปรากฏขึ้นบนหน้าจอเข้าสู่ระบบสำหรับ 13.10 เช่นกัน
หากมีบางสิ่งไม่ดีและหน้าจอเข้าสู่ระบบไม่ปรากฏขึ้นให้เปลี่ยนไปใช้คอนโซลเสมือนCTRL+ ALT+ F1และกู้คืนgschemas.compiled
ไฟล์สำรองของคุณ หรือลบmyoverride.gschema.override
ไฟล์ของคุณแล้วรันsudo glib-compile-schemas /usr/share/glib-2.0/schemas
อีกครั้ง หาก lighdtm หยุดนิ่งในการวนรอบที่ไม่มีที่สิ้นสุดและคุณไม่สามารถสลับไปที่คอนโซลเสมือนได้เพียงกดปุ่มALT+ PrtSc+ Eแป้นผสมคำสั่งนี้จะฆ่า lightdm และหลังจากนี้คุณสามารถสลับไปที่คอนโซลเสมือนและทำการซ่อมแซม
คุณสามารถใช้ตัวชี้วัดใดได้บ้าง ฉันไม่รู้ฉันมีเฉพาะค่าเริ่มต้น แต่ฉันคิดว่าคุณสามารถลองใช้สิ่งใดก็ตามที่ติดตั้งตัวเองไปยังไดเรกทอรีเหล่านั้นตามรายการด้านบน (หรือคุณสามารถเขียนตัวบ่งชี้ของตัวเองเช่นเคย)
แหล่งที่มาของสิ่งเหล่านี้? ฉันมองเข้าไปในรหัส: ลิงค์และลิงค์
/usr/share
โดยตรง ฉันคิดว่ามีเครื่องมือปรับแต่ง lightdm ที่อนุญาตสิ่งนี้และพื้นหลังที่เปลี่ยนแปลง แต่ฉันทำไม่ได้ถ้ามันยังใช้งานได้อีกต่อไป ..