ฉันสามารถตั้งค่าผู้ใช้เริ่มต้นเป็น lightdm ได้หรือไม่?


12

ฉันเล่นกับ Ubuntu Oneiric บนเน็ตบุ๊กของฉันแล้ว ฉันชอบหน้าจอการเข้าสู่ระบบ lightdm ใหม่ แต่มีสิ่งเล็กน้อยที่น่ารำคาญ: นอกเหนือจากบัญชีผู้ใช้ของฉันแล้วยังมีอีกบัญชีหนึ่งสำหรับแฟนของฉันใช้เป็นครั้งคราวและบัญชีผู้ใช้ของเธอนั้นเป็นสิ่งที่มุ่งเน้นเสมอ .

ฉันรู้วิธีการแก้ไขปัญหานี้ในGDMแต่ยังไม่พบวิธีการแก้ปัญหาสำหรับlightdm ไม่มีใครรู้วิธีตั้งค่าเพื่อให้บัญชีของฉันถูกเน้นเป็นค่าเริ่มต้น

คำตอบ:


5

ใน /etc/lightdm/lightdm.conf

ลงไฟล์จนกว่าคุณจะไปที่:

# greeter-hide-users=false

ยกเลิกการแสดงความคิดเห็นตรวจสอบให้แน่ใจว่าค่าเป็นเท็จ


2
ฉันอยู่ภายใต้การแสดงผลที่ตัวเลือกและค่าที่ใส่ความคิดเห็นใน /etc/lightdm/lightdm.conf ระบุค่าเริ่มต้น แต่ไม่ใช่กรณี ดังนั้นเพียงแค่ยกเลิกการแสดงความคิดเห็นบรรทัดสามารถมีผล ตัวเลือกบางอย่างดูเหมือนจะมีผลกับการออกจากระบบ / การเข้าสู่ระบบตัวเลือกนี้ แต่ดูเหมือนว่าจะต้องมีการรีบูตเพื่อให้มีผล
PiersyP

มีสามระดับสำหรับสิ่งนี้โดยไฟล์การกำหนดค่าที่อ่านตามลำดับนี้ (เช่นการแทนที่ครั้งสุดท้ายก่อนหน้านี้): ไฟล์ใน/usr/share/lightdm/lightdm.conf.d, ไฟล์ใน/etc/lightdm.conf.dและของ/etc/lightdm.confตัวเอง ค่าเริ่มต้นอาจถูกแทนที่ก่อนหน้านี้และจำเป็นต้องรีเซ็ตในภายหลัง
Fiximan

นั่นเป็นคำอธิบายที่เป็นประโยชน์ขอบคุณ
Lizardx

4

คำตอบของ hackerb9ทำเพื่อฉัน แต่แทนที่จะสร้างสคริปต์มันง่ายกว่ามากในการ "หยุด" ไฟล์ปรับแต่ง นี่คือสิ่งที่ต้องทำ:

  • เปิดไฟล์กำหนดค่าเพื่อแก้ไข (โปรดทราบว่าขึ้นอยู่กับรสชาติของ Ubuntu ที่คุณใช้โฟลเดอร์ภายใน.cacheอาจเรียกชื่ออย่างอื่น)
    sudo nano /var/lib/lightdm/.cache/lightdm-gtk-greeter/state
  • แก้ไขบรรทัดต่อไปนี้เพื่อสะท้อนถึงชื่อบัญชีผู้ใช้เริ่มต้น
    last-user=[DEFAULT-USER]
  • อาจเป็นการดีที่จะเพิ่มความคิดเห็นลงในไฟล์ที่ระบุว่าถูกล็อคและวิธีการ
  • เรียกใช้คำสั่งต่อไปนี้เพื่อ "หยุด" ไฟล์เพื่อที่จะไม่สามารถเปลี่ยนแปลงได้โดย lightdm
    sudo chattr +i /var/lib/lightdm/.cache/lightdm-gtk-greeter/state

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

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


1
ดีมาก @b_laoshi ฉันชอบที่คุณไม่ต้องพึ่งพาเชลล์สคริปต์ ฉันแนะนำให้ใส่ความคิดเห็นในไฟล์สถานะดังนั้น sysadmins ในอนาคต (หรือตัวคุณเอง) จะรู้ว่าทำไมมันถึงไม่เปลี่ยนรูป ฉันคิดว่านี่เป็นวิธีแก้ปัญหาที่ดีสำหรับเครื่องเดียว แต่ฉันควรพูดถึงว่าอาจมีข้อเสียสำหรับผู้ที่ทดลองใช้งานในห้องทดลอง (1) ไม่ควรใช้แอตทริบิวต์ของระบบไฟล์เพิ่มเติมเพื่อคงอยู่ในการสำรองข้อมูล (2) เช่นเดียวกันหากคุณมีห้องปฏิบัติการคอมพิวเตอร์ที่คัดลอกมาจากต้นแบบเครือข่ายคุณลักษณะ fs อาจสูญหายได้ (3) / var / lib ไม่รับประกันว่าจะได้รับการเก็บรักษาไว้เช่นในการอัพเกรด
hackerb9

3

แก้ไขไฟล์ /etc/lightdm/lightdm.conf ( gksu gedit /etc/lightdm/lightdm.conf) และเพิ่มบรรทัดแบบนี้:

default-user=sean_fitzpatrick

ขอบคุณ แต่จนถึงตอนนี้ฉันไม่มีโชค - มันเหมาะกับคุณไหม ฉันได้ลองใช้รูปแบบที่แตกต่างกันเช่น default-user = sean (ชื่อเข้าสู่ระบบของฉัน), default-user = 1000 (UID ของฉัน) ฯลฯ แต่จนถึงตอนนี้ก็ไม่มีการเปลี่ยนแปลง
Sean Fitzpatrick

ฉันอ่านมันที่ไหนซักแห่งจำไม่ได้ว่าอยู่ที่ไหน ฉันยังไม่ได้ใช้ lightdm ฉันจะค้นคว้าเพิ่มเติม
desgua

ตกลงดูเหมือนว่าจะใช้งานได้ในขณะนี้ด้วยการอัพเดทล่าสุดผู้ใช้ที่ถูกต้องจะถูกเลือกโดยค่าเริ่มต้น ไม่แน่ใจว่านี่เป็นเพราะฉันเพิ่มบรรทัดผู้ใช้เริ่มต้นหรือถ้าตอนนี้จำการเข้าสู่ระบบล่าสุด (ฉันเดาว่าฉันสามารถลองลบบรรทัดผู้ใช้เริ่มต้นและดูว่าเกิดอะไรขึ้น - แต่อย่างน้อยก็ใช้งานได้ตอนนี้!)
Sean Fitzpatrick

2
ในฐานะที่เป็นโน้ตย่อสำหรับทุกคนที่อ่านข้อความนี้และใช้ 12.04 การตั้งค่านี้จะไม่มีผลกระทบอีกต่อไปและจะไม่อยู่ในไฟล์ conf ตัวอย่างอีกต่อไป ฉันเชื่อว่าตั้งแต่ 12.04 ค่าเริ่มต้นจะเป็นผู้ใช้ที่เข้าสู่ระบบครั้งสุดท้าย
mfisch

3

ตัวเลือก "default-user" ถูกลบออกจาก lightdm ทำไม? ไม่มีใครรู้. เป็นเวลาห้าปีแล้วที่คำถามนี้ถูกถาม แต่แรกแล้วและยังคงพัง Lightdm จะบันทึกสถานะของผู้ที่เข้าสู่ระบบล่าสุดในไฟล์ที่ซ่อนอยู่ที่นี่:

/var/lib/lightdm/.cache/lightdm-gtk-greeter/state

ดังนั้นต่อไปนี้เป็นวิธีแก้ไขปัญหาสามขั้นตอน:

  1. สร้างเชลล์สคริปต์ที่เรียก/usr/local/bin/lightdm-default-userด้วยเนื้อหาดังต่อไปนี้:

    #!/bin/sh
    
    # LightDM removed the default-user option.
    # The only recourse now is an ugly kludge. 
    
    # Note that if you want to default to the "Guest Session",
    # you need to specify the last user as "*guest".
    
    /bin/echo -e '[greeter]\nlast-user=*guest' > /var/lib/lightdm/.cache/lightdm-gtk-greeter/state
    
  2. ทำให้ปฏิบัติการ: chmod 755 /usr/local/bin/lightdm-default-user

  3. ให้ lightdm ทำงานสคริปต์โดยอัตโนมัติเมื่อเริ่มต้นด้วยการแก้ไข/etc/lightdm/lightdm.confและเพิ่มบรรทัดใน[SeatDefaults]ส่วน:

    [SeatDefaults]
    greeter-setup-script=/usr/local/bin/lightdm-default-user
    

นี่เป็นเรื่องที่น่าเกลียด แต่น่าเสียดายที่ทางออกที่ดีที่สุดในขณะนี้


ฉันสงสัยว่ามันถูกทำขึ้นด้วยเหตุผลด้านความปลอดภัย (เช่นชื่อผู้ใช้ถือเป็นข้อมูลที่ละเอียดอ่อน)
Scott Smith

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