Score:3

WSL2 - คำสั่งเชลล์ของ VSCode `code` ไม่ทำงานในเทอร์มินัล Linux อีกต่อไป

ธง ng

ฉันใหม่มากสำหรับ Linux และ WSL โดยรวม ฉันสามารถใช้ รหัส เพื่อเปิดไดเร็กทอรีปัจจุบันของฉันใน VSCode แต่หลังจากลบบางสิ่งที่ฉันจำไม่ได้ มันก็ใช้ไม่ได้อีกต่อไป ฉันใส่คำสั่งและมันก็ค้างอยู่ตรงนั้น

ฉันได้ลบอินสแตนซ์ Ubuntu-20.04 และสร้างใหม่ แต่ก็ยังใช้งานไม่ได้ ตรวจสอบ $PATH ของฉันด้วยและดูเหมือนว่าจะอยู่ที่นั่น

อีกทั้ง เพิ่มคำสั่งเชลล์ ใน VSCode ไม่ปรากฏขึ้น ดังนั้นฉันจึงไม่สามารถถอนการติดตั้งและติดตั้งทางลัดเชลล์ใหม่ได้

ใครมีความคิดใด ๆ ?

drewbie@drewbie:/$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/wsl/lib :/mnt/c/Windows/system32:/mnt/c/Windows:/mnt/c/Windows/System32/Wbem:/mnt/c/Windows/System32/WindowsPowerShell/v1.0/:/mnt/c/Windows /System32/OpenSSH/:/mnt/c/ไฟล์โปรแกรม/NVIDIA Corporation/NVIDIA NvDLISR:/mnt/c/ไฟล์โปรแกรม (x86)/NVIDIA Corporation/PhysX/ทั่วไป:/mnt/c/ไฟล์โปรแกรม/dotnet/:/ mnt/c/WINDOWS/system32:/mnt/c/WINDOWS:/mnt/c/WINDOWS/System32/Wbem:/mnt/c/WINDOWS/System32/WindowsPowerShell/v1.0/:/mnt/c/WINDOWS/System32 /OpenSSH/:/mnt/c/ไฟล์โปรแกรม (x86)/QuickTime/QTSystem/:/mnt/c/ไฟล์โปรแกรม/Git/cmd:/mnt/c/ไฟล์โปรแกรม/Go/bin:/mnt/c/Program ไฟล์/นักเทียบท่า/นักเทียบท่า/ทรัพยากร/bin:/mnt/c/ProgramData/DockerDesktop/version-bin:/mnt/c/Users/Andrew/AppData/Local/Microsoft/WindowsApps:/mnt/c/Users/Andrew/AppData /Local/Programs/Microsoft VS Code/bin:/mnt/c/Program Files/heroku/bin:/mnt/c/Users/Andrew/AppData/Local/GitHubDesktop/bin:/mnt/c/Users/Andrew/go /bin:/snap/bin

หลังจากใส่รหัส มันนั่งอยู่ที่นั่น

ที่ไหนและที่ไหน

drewbie@drewbie:~$ รหัสอยู่ที่ไหน
รหัส: /mnt/c/Users/Andrew/AppData/Local/Programs/Microsoft VS Code/bin/code /mnt/c/Users/Andrew/AppData/Local/Programs/Microsoft VS Code/bin/code.cmd
drewbie@drewbie:~$รหัสไหน
/mnt/c/Users/Andrew/AppData/Local/Programs/Microsoft VS Code/bin/code

หลังจากทำตามที่ @NotTheDr01ds พูดในหัวข้อด้านล่าง

drewbie@drewbie:~$ vi "$(รหัสไหน)"
drewbie@drewbie:~$ รหัส
+ [ = จริง ]
+ COMMIT=899d46d82c4c95423fb7e10e68eba52050e30ba3
+ APP_NAME=รหัส
+ คุณภาพ = เสถียร
+ NAME=รหัส
+ DATAFOLDER=.vscode
+ realpath /mnt/c/Users/Andrew/AppData/Local/Programs/Microsoft VS Code/bin/code
+ dirname /mnt/c/Users/Andrew/AppData/Local/Programs/Microsoft VS Code/bin/code
+ dirname /mnt/c/Users/Andrew/AppData/Local/Programs/Microsoft VS Code/bin
+ VSCODE_PATH=/mnt/c/Users/Andrew/AppData/Local/Programs/Microsoft VS Code
+ ELECTRON=/mnt/c/Users/Andrew/AppData/Local/Programs/Microsoft VS Code/Code.exe
+ IN_WSL=เท็จ
+ [ -n อูบุนตู-20.04 ]
+ IN_WSL=จริง
+ [ จริง = จริง ]
+ ส่งออก WSLENV=ELECTRON_RUN_AS_NODE/w:WT_SESSION::WT_PROFILE_ID
+ wslpath -m /mnt/c/Users/Andrew/AppData/Local/Programs/Microsoft VS Code/resources/app/out/cli.js
+ CLI=C:/Users/Andrew/AppData/Local/Programs/Microsoft VS Code/resources/app/out/cli.js
+ WSL_EXT_ID=ms-vscode-remote.remote-wsl
+ ELECTRON_RUN_AS_NODE=1 /mnt/c/Users/Andrew/AppData/Local/Programs/Microsoft VS Code/Code.exe C:/Users/Andrew/AppData/Local/Programs/Microsoft VS Code/resources/app/out/cli .js --ms-enable-electron-run-as-node --locate-extension ms-vscode-remote.remote-wsl
NotTheDr01ds avatar
vn flag
คุณสามารถถอนการติดตั้งและติดตั้งส่วนขยาย *Remote - WSL* ใน VSCode ใหม่ได้หรือไม่ ที่แย่ที่สุด ถอนการติดตั้งและติดตั้ง VSCode ใหม่เองล่ะ? ฉันมักจะไม่ใช้วิธี "ติดตั้งใหม่" เป็นคำตอบแรก แต่เนื่องจาก (ก) คุณไม่แน่ใจว่าคุณลบอะไรไปแล้ว และ (ข) การติดตั้งใหม่ค่อนข้างรวดเร็วและไม่เจ็บปวด ฉันคิดว่ามันคุ้มค่าที่จะลอง แรก.
drewkiimon avatar
ng flag
@NotTheDr01ds ฉันถอนการติดตั้งและติดตั้งส่วนขยาย `Remote - WSL` ใหม่แล้ว แต่ก็ยังไม่สามารถแก้ไขได้ ฉันค่อนข้างลังเลที่จะถอนการติดตั้ง VSCode อาจจะเป็นลูกเห็บสุดท้ายแมรี่ แต่ยังไม่ได้.
NotTheDr01ds avatar
vn flag
ยุติธรรมเพียงพอ `code` จริง ๆ แล้วเป็นเชลล์สคริปต์ ดังนั้นคุณสามารถลองดีบั๊กเพื่อดูว่ามันหยุดทำงานตรงไหน `vi $(รหัสใด)` และเพิ่ม `set -x` เป็นบรรทัดแรกหลัง shebang จากนั้นลองเรียกใช้และเพิ่มผลลัพธ์ให้กับคำถาม ฉันสามารถเปรียบเทียบกับของฉันได้อย่างน้อย
drewkiimon avatar
ng flag
ฉันพยายามทำในสิ่งที่คุณทำ แต่ก็ไม่เป็นผล :( ฉันสามารถทราบได้ว่ารหัสใดที่ใช้และอยู่ที่ไหน ไม่แน่ใจว่ามี symlink ที่ฉันต้องทำหรือไม่ ฉันเห็นว่าบางครั้งถูกโยนทิ้งไป
NotTheDr01ds avatar
vn flag
อา ขอโทษที อาจเป็นเพราะช่องว่างในเส้นทาง นั่นไม่ดีของฉัน - ฉันควรรู้ที่จะอ้างสิ่งต่าง ๆ เช่นนั้น ลองใช้เครื่องหมายคำพูด - `vi "$(รหัสใด)"`?
drewkiimon avatar
ng flag
@ NotTheDr01ds ฉันใช้งานได้แล้ว! โพสต์ไว้ในคำถามของฉันด้านบน ขอบคุณมากสำหรับความช่วยเหลือของคุณ!
Score:3
ธง jp

ฉันคิดว่าปัญหานี้เกิดจากการอัปเดต VSCode ซึ่งเกิดขึ้นโดยอัตโนมัติ

ในการแก้ปัญหา:

  1. เปิด VSCode ใน Windows

  2. เปิด Remote Explorer

    นักสำรวจระยะไกล

  3. คลิกที่โฟลเดอร์ในเป้าหมาย WSL ที่น่าสนใจ คุณจะเห็นว่าสิ่งนี้ทำให้เกิดการติดตั้งใหม่

  4. ตอนนี้คุณสามารถกลับไปใช้ รหัส $ คำสั่งจากโฟลเดอร์ใน WSL2 เหมือนที่คุณเคยทำ

drewkiimon avatar
ng flag
แดง ฉันจะตรวจสอบสิ่งนี้ แต่ฉันตัดสินใจที่จะบูตคู่ Linux แทนในไดรฟ์แยกต่างหาก ถ้าใครสามารถตรวจสอบได้ฉันจะให้คำตอบ!
mickmackusa avatar
ve flag
@Ando แม้จะเป็นสมาชิกมานานกว่า 7 ปี คุณก็ยังไม่ได้ [ทัวร์] ; กรุณาทำ
Score:2
ธง ng

ฉันลงเอยด้วยการทำงานในตอนท้าย ฉันเชื่อว่าเป็นสิ่งต่อไปนี้ที่แก้ไขได้

  1. ไปที่ Terminal ของคุณและลบของคุณ การตั้งค่า json ไฟล์. คุณต้องการบันทึกการสำรองข้อมูลก่อน ไฟล์ดังกล่าวเปิดจากเทอร์มินัล

  2. คุณกำลังจะไป ctrl-กให้ลบออกทั้งหมด จากนั้นบันทึกไฟล์

  3. ขั้นตอนที่สำคัญมาก เมื่อคุณกลับไปที่ Terminal ให้คลิก SAVE ที่มุมล่างขวา ปุ่มบันทึก คลิกเลย!

  4. ตอนนี้มันไม่สนุก แต่เรากำลังจะยกเลิกการลงทะเบียน อูบุนตู-20.04 จากพาวเวอร์เชลล์

    บันทึก: มันคือ ทำลายล้าง การดำเนินการและข้อมูลทั้งหมดภายในระบบไฟล์ของอินสแตนซ์ WSL จะสูญหาย ก่อนขั้นตอนนี้ คุณอาจต้องการสำรองข้อมูลก่อนด้วย wsl --export Ubuntu-20.04 <backup-filename.tar> เพื่อความปลอดภัย. เมื่อคุณพร้อม จาก powershell ให้เขียน wsl --unregister Ubuntu-20.04 หรืออะไรก็ตามที่ Distro ของคุณเป็น

  5. รีสตาร์ทคอมพิวเตอร์ของคุณ !!!

  6. เมื่อคอมพิวเตอร์ของคุณเปิดขึ้นมาใหม่ คุณจะติดตั้ง distro ใหม่และตั้งเป็นค่าเริ่มต้น wsl --install -d <ชื่อการแจกจ่าย>

  7. ผ่านการตั้งค่า จากนั้นทั้งหมดที่ฉันทำคือ รหัส และได้รับการโต้ตอบด้านล่าง ตอนนี้มันใช้งานได้สำหรับฉัน

drewbie@drewbie:~$ cd ~
drewbie@drewbie:~$ ลส
drewbie@drewbie:~$ ls -la
รวม 24
drwxr-xr-x 3 drewbie drewbie 4096 12 ม.ค. 18:12 น.
drwxr-xr-x 3 รูท 4096 12 ม.ค. 18:12 ..
-rw-r--r-- 1 drewbie drewbie 220 ม.ค. 55 18:12 น. .bash_logout
-rw-r--r-- 1 drewbie drewbie 3771 12 ม.ค. 18 18:12 .bashrc
drwxr-xr-x 2 drewbie drewbie 4096 12 ม.ค. 18:12 น. .landscape
-rw-r--r-- 1 drewbie drewbie 0 ม.ค. 55 18:12 น. .motd_shown
-rw-r--r-- 1 drewbie drewbie 807 12 ม.ค. 18:12 น. .profile
drewbie@drewbie:~$ รหัส
การติดตั้ง VS Code Server สำหรับ x64 (899d46d82c4c95423fb7e10e68eba52050e30ba3)
กำลังดาวน์โหลด: 100%
แกะกล่อง: 100%
แตกไฟล์และโฟลเดอร์ 1722 ไฟล์ไปที่ /home/drewbie/.vscode-server/bin/899d46d82c4c95423fb7e10e68eba52050e30ba3
NotTheDr01ds avatar
vn flag
ยอดเยี่ยม - ดีใจที่ได้ยินว่าคุณใช้งานได้แล้ว! ค่อนข้างรุนแรง ด้วยการลบ WSL/Ubuntu และลบการตั้งค่า Windows Terminal แต่ดีใจที่คุณผ่านพ้นปัญหาไปได้ ฉันจะแก้ไขคำตอบของคุณเล็กน้อยเพื่อประโยชน์ของ "ความปลอดภัย" แต่ไม่ใช่เรื่องใหญ่
drewkiimon avatar
ng flag
@NotTheDr01ds ขอบคุณสำหรับการแก้ไขของคุณ! เป็นความจริงที่พวกเขาจะสูญเสียทุกอย่างในตัวอย่างของพวกเขา :(

โพสต์คำตอบ

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