Score:5

ฉันจะเปลี่ยนผู้ใช้เริ่มต้นที่ลงชื่อเข้าใช้ WSL ได้อย่างไร

ธง us

ฉันใช้เทอร์มินัล Ubuntu บน windows ด้วย WSL ทุกครั้งที่ฉันเปิดใช้เทอร์มินัล มันจะลงชื่อเข้าใช้ฉันในฐานะผู้ใช้รูท ฉันได้สร้างผู้ใช้ใหม่และให้สิทธิ์ root เพื่อให้ฉันเขียนโค้ดได้ง่ายขึ้น ฉันจะเปลี่ยนผู้ใช้เริ่มต้นที่ลงชื่อเข้าใช้ได้อย่างไร

นี่คือสิ่งที่ฉันเห็นเมื่อเปิดตัว:

นี่คือสิ่งที่ฉันเห็นเมื่อฉันเปิดตัว

หลังจากวิ่ง สุ shayc ฉันสามารถเข้าถึงผู้ใช้ของฉันได้ แต่ฉันจะหลีกเลี่ยงการทำเช่นนี้ได้อย่างไร ทุกเวลา?

**อัปเดต: ** ฉันได้ลองตั้งค่าผู้ใช้เริ่มต้นใน /etc/wsl.conf แล้ว

นี่คือไฟล์ wsl.conf

หมายเหตุ: ฉันไม่สามารถรันคำสั่ง WSL ได้

ไม่พบ wsl

in flag
[คำตอบนี้](https://askubuntu.com/a/1209881/1222991) อาจเป็นคำตอบที่คุณกำลังมองหา
Score:4
ธง vn

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

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

สำหรับการตั้งค่าผู้ใช้ใหม่เป็นค่าเริ่มต้น มีอย่างน้อยสองเส้นทางที่เป็นไปได้:


ตัวเลือกที่ 1: wsl.conf

ปัจจุบัน ไมโครซอฟต์แนะนำ วิธีคือการสร้าง /etc/wsl.conf ในอินสแตนซ์ที่มีการตั้งค่าต่อไปนี้:

[ผู้ใช้]
ค่าเริ่มต้น = ชื่อผู้ใช้

แน่นอนว่าการเปลี่ยนชื่อผู้ใช้เป็นชื่อผู้ใช้เริ่มต้นของคุณ

ออกจากอินสแตนซ์ของคุณ ออก a wsl --terminate Ubuntu (สมมติว่าชื่ออินสแตนซ์ของคุณคือ "Ubuntu" ซึ่งคุณสามารถยืนยันได้ wsl -l -v) หรือ wsl -- ปิดเครื่อง (จาก PowerShell หรือ CMD) แล้วรีสตาร์ท


ตัวเลือกที่ 2: "รีเซ็ต" อินสแตนซ์กลับไปยังขั้นตอนการกำหนดค่า

โปรดทราบว่านี่คือการดำเนินการทำลายล้าง. หากคุณไม่มีงานในอินสแตนซ์ที่คุณไม่สามารถกู้คืนได้ง่ายๆ คุณสามารถรีเซ็ตอินสแตนซ์กลับสู่สถานะเริ่มต้นได้อย่างง่ายดาย นี่เป็นเพราะ WSL ทิ้ง rootfs ดั้งเดิมไว้สำหรับการแจกจ่ายใด ๆ ที่ซ่อนอยู่ภายใต้ไดเร็กทอรี C:\โปรแกรมข้อมูล.

คุณสามารถสำรองข้อมูลอินสแตนซ์เก่าได้เสมอก่อนที่จะดำเนินการนี้ "เผื่อไว้" คำสั่ง (อีกครั้งทั้งหมดจาก PowerShell หรือ CMD) ควรมีลักษณะดังนี้:

wsl --export Ubuntu "2021-11-21 Ubuntu WSL Backup.tar"

จากนั้น (และนี่คือ ทำลายล้าง ส่วนหนึ่ง):

wsl --unregister อูบุนตู

จากนั้นเรียกใช้ "แอพ" อีกครั้งด้วย ubuntu.exe (หรือหากคุณติดตั้งแอปเฉพาะเวอร์ชันจาก Store ก็อาจเป็นเช่นนั้น ubuntu2004.exe).

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

Shayc20 avatar
us flag
ขอบคุณมาก และใช่ พีซีของฉันตัดสินใจรีสตาร์ทเมื่อฉันตั้งค่า โอเค แล้วไฟล์นี้ไปอยู่ที่ไหนกันแน่ (ที่ไหน / etc) หรือฉันแค่ใช้พา ธ นั้นจากไดเร็กทอรีรูท
Shayc20 avatar
us flag
ฉันลองแล้ว แต่มันใช้งานไม่ได้ .. ฉันอัปเดตโพสต์แล้ว
NotTheDr01ds avatar
vn flag
โดยทั่วไป คำสั่ง `wsl` จะเรียกใช้จาก *ภายนอก* อินสแตนซ์ WSL -- จาก PowerShell หรือ CMD ฉันได้อัปเดตคำตอบเพื่อให้ชัดเจนยิ่งขึ้น `/etc/wsl.conf` จะไม่มีผลจนกว่าคุณจะยุติมันจริงๆ หวังว่าคงไม่ใช่สาเหตุที่คุณไม่เห็นผู้ใช้ใหม่ หากคุณ *ทำ* จำเป็นต้องเรียกใช้คำสั่ง `wsl` จากใน Ubuntu ให้ใช้ `wsl.exe` เนื่องจากเป็นไฟล์ปฏิบัติการของ Windows
NotTheDr01ds avatar
vn flag
@Shayc20 ขออภัย ฉันลืมแท็กคุณในการตอบกลับเมื่อวานนี้ ดังนั้นคุณอาจไม่ได้รับการแจ้งเตือน

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา