นำ ZSH ออกแล้วไม่สามารถ relogin ได้


14

ดังนั้นฉันจึงติดตั้งzshและฉันไม่ชอบมัน ดังนั้นฉันทำapt-get remove zsh

จากจุดที่ฉันไม่สามารถ relogin ฉันคลิกผู้ใช้ของฉัน .. แล้วมันก็กลับไปที่หน้าจอเข้าสู่ระบบ ฉันสามารถเข้าสู่ระบบด้วยGuest sessionฉันเท่านั้นที่สามารถเข้าสู่ระบบด้วย

ฉันคิดว่าปัญหาเกิดขึ้นเนื่องจากเชลล์ defualt ที่ผู้ใช้ของฉันคือ zsh และมันไม่มีอยู่อีกต่อไป ..

ฉันจะติดตั้งใหม่จากเซสชันผู้เยี่ยมชมเพื่อเปลี่ยนเชลล์เริ่มต้นของผู้ใช้สำหรับผู้ใช้ทั่วไปได้อย่างไร

แม้พยายามที่จะเข้าสู่ระบบด้วย ctrl+alt+f2/6ฉันพิมพ์ผู้ใช้และรหัสผ่านของฉัน การเข้าสู่ระบบประสบความสำเร็จ แต่ฉันถูกโยนกลับไปที่การเข้าสู่ระบบ

ความคิดใด ๆ


ในความคิดที่สองปัญหาเปลือกไม่มีแนวโน้มที่จะแบก ไม่มีเชลล์ผู้ใช้วางไข่หลังจากโหลด DM แล้วก่อนที่จะโหลด DE (ซึ่งอาจไม่มีปัญหาเช่นกัน) และฉันก็ไม่แน่ใจเกี่ยวกับ the ~/.bashrc- ~/.profileloop อย่างใดอย่างหนึ่ง: ฉันได้ทดสอบทั้งการล้างเชลล์ของผู้ใช้และสร้าง~/.bashrc- ~/.profileloop ใน VM และฉันก็สามารถเข้าสู่ระบบผ่าน LightDM ได้เสมอแม้ว่าฉันจะไม่สามารถเข้าสู่ระบบได้ ผ่านคอนโซลด้วย~/.bashrc- ~/.profileลูป (แต่ยังคง LightDM แทนทำงาน) ไม่ว่าในกรณีใดคุณควรยอมรับคำตอบของฉัน
kos

คำตอบ:


16

ผู้ใช้เกสต์ไม่ได้รับอนุญาตให้เรียกใช้sudoหรือpkexec (ซึ่งเว้นแต่ว่าคุณเป็นรูตซึ่งคุณไม่ได้ใช้) เพื่อเปลี่ยนเชลล์ของผู้ใช้รายอื่น

ดังนั้นทางออกเดียวที่เกิดขึ้นกับฉันคือการบูตในรูทเชลล์และเปลี่ยนเชลล์ของผู้ใช้เป็นรูท:

chsh -s /bin/bash user

userชื่อผู้ใช้ของคุณอยู่ที่ไหน


หนึ่งสงสัยว่าคุณจะแก้ไขปัญหานี้อย่างไรเมื่อเชลล์ของรูทเป็น zsh ... LiveCD?
Kevin

@Kevin คำตอบนี้น่าจะผิด เชลล์ไม่มีแบริ่งที่ผู้ใช้ไม่ได้ล็อกอินเข้าสู่ DE เนื่องจากไม่มีเชลล์ผู้ใช้เกิดขึ้นหลังจากโหลด DM แล้วเนื่องจากโหลด DE ฉันไม่รู้ว่ามีตัวเลือกที่ดีกว่าในกรณีที่จัดการตัวเองได้หรือไม่ แต่ฉันคิดว่าการใช้ Live DVD และการเปลี่ยน/etc/passwdด้วยตนเองควรใช้งานได้หรือไม่
kos

4
@ Kevin init=/bin/bashอาจจะมีตัวเลือกการบูตเช่น
user253751

2

ล็อกอินเป็นรูทหรือบูตเข้าสู่รูทเชลล์และแก้ไขรายการเชลล์ใน / etc / passwd เป็น "/ bin / sh" จากนั้นคุณสามารถเข้าสู่ระบบอีกครั้งในฐานะตัวคุณเองและเปลี่ยนสิ่งต่าง ๆ จากที่นั่น


1

ดังนั้นนอกจากสิ่งที่ @kos พูดแล้ว ..

ด้วยเหตุผลบางอย่างที่ฉันเพิ่มลงsource ~/.profileในไฟล์. bashrc ของฉัน (ไม่รู้ว่าทำไม .. อ่านที่อื่น) และ.profileไฟล์ของฉันโหลด.bashrcซึ่งทำให้การโหลดแบบวงกลม!

การเอาsource..โซลูชัน + @kos ออกไปเป็นเคล็ดลับ!


เดสก์ท็อป Linux มีชนิดของ.profile-for-env-vars และหนึ่งต่อการล็อกอินที่ใช้งานได้ / .bashrc-for-aliases กระบวนทัศน์ เนื่องจากบางครั้งคุณจำเป็นต้อง env VARs ตั้งค่าสำหรับสิ่งที่จะทำงานผมสามารถดูว่าทำไมบางคนอาจคิดว่ามันเป็นความคิดที่ดีจากsource ~/.profile .bashrc(การเข้าสู่ระบบในเซสชันเดสก์ท็อปอาจไม่ส่งผลให้โปรไฟล์ของคุณตั้งค่า env vars สำหรับเด็กทุกคนในเซสชัน)
Peter Cordes

1

สำหรับผู้ที่มีปัญหาในการถอนการติดตั้ง zsh ลองทำตามขั้นตอนต่อไปนี้

  1. เข้าสู่ระบบในฐานะ root ผ่านโหมดการกู้คืน คุณสามารถดูวิธีการทำคำตอบนี้ /ubuntu//a/92558/104228
  2. หลังจากคุณเข้าสู่ระบบในฐานะ root /etc/passwdเปิด พบรายการผู้ใช้ของคุณและการเปลี่ยนแปลงจากการ/usr/bin/zsh /bin/shบันทึกไฟล์และรีบูตตามขั้นตอนปกติ คุณควรเข้าสู่ระบบตามปกติ
  3. หลังจากรีบูตอูบุนตูของคุณ คุณจะพบว่าเปลือกของคุณดูแย่มาก เรียกใช้คำสั่งchsh -s /bin/bashนี้ พิมพ์รหัสผ่านของคุณและป้อน คุณเปลือกจะดูดีในขณะนี้
  4. พิมพ์sudo apt-get purge --auto-remove zshเพื่อล้างแพ็คเกจพึ่งพาอื่นของ zsh

ฉันหวังว่าขั้นตอนนี้จะช่วยให้ผู้อื่นที่มีปัญหาเช่นเดียวกับฉัน

PS ภาษาอังกฤษของฉันไม่ใช่ภาษาหลัก ฉันหวังว่าคุณจะเข้าใจฉัน

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