Tôi gặp sự cố khi mở mã phòng thu trực quan.
Tình huống là tôi có một hệ thống tệp máy chủ được gắn trong máy tính cục bộ của mình (UBUNTU WSL) bằng SSHFS.
Trong trường hợp bình thường, tôi có thể mở tệp bằng mã phòng thu trực quan bằng lệnh mã <tên tệp>
.
Tuy nhiên, khi tôi ở trong thư mục hệ thống tệp của máy chủ và tôi cố gắng sử dụng lệnh này thì tôi gặp lỗi
/mnt/c/Users/kurti/AppData/Local/Programs/Microsoft VS Code/Code.exe: Đối số không hợp lệ
Đáng ngạc nhiên là tôi có thể sử dụng gedit theo cách tương tự mà không gặp vấn đề gì, ví dụ: gedit <tên tệp>
.
Sau đó, điều kỳ lạ là tôi có thể sử dụng mã để mở tệp/thư mục trong hệ thống tệp máy chủ khi tôi là bất kỳ thư mục nào trong hệ thống tệp cục bộ của mình. Với điều này, tôi có thể dễ dàng mở tệp máy chủ bằng cách sử dụng mã </đầy đủ/đường dẫn/đến/tệp>
.
Đây có phải là lỗi có thể xảy ra trong mã phòng thu trực quan hoặc sự cố với hệ thống của tôi không?
Chỉnh sửa:
Tôi đã tạo một công việc mới xung quanh chức năng/lệnh đó là
tên lệnh: vcode
#!/bin/bash
fpath=$(realpath $1)
(cd $HOME; mã fpath)
Cập nhật:
Tôi đã báo cáo nó trong trang github của WSL là một vấn đề https://github.com/microsoft/WSL/issues/7890
Chi tiết cụ thể hơn như sau
các bước repo
Trong thiết bị đầu cuối WSL,
- Gắn hệ thống tệp máy chủ bằng sshfs (trong trường hợp của tôi, đó là siêu máy tính của trường đại học)
sshfs -C <server_name_and_ip> <mount_location>
mount_location được chỉ định là một thư mục trống có tên smith_server với đường dẫn /home/k/smith_server/
- Chuyển đến thư mục
cd /home/k/smith_server
- Mở thư mục trong mã phòng thu trực quan
mã số .
hành vi dự kiến
Hành vi dự kiến là studio trực quan sẽ mở thư mục/tệp bất kể thư mục làm việc hiện tại.
hành vi thực tế
Hành vi thực tế là khi thư mục làm việc hiện tại nằm trong hệ thống tệp máy chủ được gắn kết, hãy khởi chạy lệnh mã số .
hoặc mã <tên tệp>
sẽ dẫn đến mã lỗi.
/mnt/c/Users/kurti/AppData/Local/Programs/Microsoft VS Code/Code.exe: Đối số không hợp lệ
Một số ví dụ đang hoạt động,
- Khi thư mục làm việc không phải là một phần của hệ thống tệp máy chủ được gắn kết,
mã số .
hoặc mã <tệp>
hoạt động tốt.
- Khi thư mục làm việc không phải là một phần của hệ thống tệp máy chủ được gắn kết, sử dụng mã tới đường dẫn đầy đủ của tệp/thư mục trong hệ thống tệp máy chủ, ví dụ:.
mã /home/k/smith_server
có thể mở thành công tệp/thư mục mà không gặp sự cố.
- Khi thư mục làm việc nằm trong hệ thống tệp máy chủ được gắn kết,
gedit <tập tin>
hoạt động tốt
- Khi thư mục làm việc nằm trong hệ thống tệp máy chủ được gắn kết,
mã $HOME
cũng nhận được một lỗi.
Kết luận cuối cùng của tôi là có vấn đề khi gọi lệnh mã khi bên trong hệ thống tệp máy chủ được gắn kết. Ngoài ra, điều này không xảy ra khi sử dụng gedit. Tuy nhiên, khi ở bên ngoài hệ thống tệp máy chủ được gắn kết, mã số
lệnh có thể được gọi và cũng có thể truy cập hệ thống tệp được gắn kết bằng cách sử dụng đường dẫn đầy đủ. Có lẽ điều gì đó đang xảy ra khi truy tìm tệp Code.exe. Phần mềm dựa trên Linux như gedit không bị ảnh hưởng nhưng có lẽ phần mềm dựa trên Windows như Code.exe, mới được giao tiếp có bị ảnh hưởng không?