Thay đổi thư mục nhà của người dùng trên Hệ thống con Windows cho Linux


26

Tôi muốn thay đổi thư mục chính của người dùng mà tôi thiết lập ban đầu trên Hệ thống con Windows cho Linux. Tôi tìm thấy lệnh này

sudo usermod -d /mnt/c/Users/Alex alex

Điều này sẽ cho phép điều này, tuy nhiên tôi nhận được lỗi này

usermod: user alex is currently used by process 2

Có lẽ bởi vì tôi đã đăng nhập như người dùng đó. Tôi đã cố gắng root bằng cách thực hiện sudo su -và sau đó chạy lại lệnh nhưng tôi gặp vấn đề tương tự. Tôi đã thử một lệnh tôi tìm thấy trên Google để đăng xuất người dùng alextừ root nhưng điều đó cũng khiến tôi hoàn toàn bash.

Có suy nghĩ gì không?


Bạn có thể không đăng xuất tài khoản đó, đăng nhập như một tài khoản khác và sau đó chạy các lệnh để xem kết quả bạn nhận được không?
Pimp Juice IT

Đăng xuất khỏi tài khoản đó sẽ đóng bash Linux và đưa bạn trở lại dấu nhắc Windows. Đăng nhập lại chỉ đặt bạn theo mặc định trong người dùng đó. Và chuyển sang root thông qua sudo su -tôi vẫn gặp lỗi quy trình
Xeon06

Tôi hiểu, tôi giả sử bạn không thể đăng nhập vào Windows dưới dạng tài khoản khác trong khi đăng xuất khỏi tài khoản đó, rồi chạy lệnh bash sau đó từ tài khoản đó trong bash cho tài khoản kia? Tôi chưa thiết lập bash trong Windows nên chỉ nghĩ đến các giải pháp đơn giản tiềm năng mặc dù phải làm điều đó sẽ gây bất tiện nhưng nếu chỉ là thỏa thuận một lần thì có thể nó sẽ hoạt động. Suy nghĩ nhanh thôi.
Pimp Juice IT

Thật không may, môi trường bash được gắn với người dùng Windows hiện tại, được lưu trữ trong% appdata%. Vì vậy, một người dùng khác sẽ có được môi trường bash của riêng họ
Xeon06

Bạn có thể thay đổi tên người dùng mặc định bằng cách thực thi trong Windows (không phải bash) lxrun /setdefaultuser myusername.
harrymc

Câu trả lời:


41

Thay đổi thư mục chính bằng WSL được thực hiện giống như trong Linux:

  1. Nhập bash
  2. Gõ lệnh sudo vim /etc/passwd
  3. Tìm dòng tài khoản của bạn, có thể trông giống như:
    harry:x:1000:1000:"",,,:/home/harry:/bin/bash
  4. Thay đổi thư mục chính, ở trên là /home/harry, sang thư mục mới, sử dụng ký hiệu WSL
  5. Lưu các tập tin
  6. Thoát bash và khởi chạy lại nó
  7. Để kiểm tra, sử dụng các lệnh:
    cd ~
    pwd

Hay noi tôi nêu bạn cân thêm thông tin.


Tôi không biết WSL, tôi chỉ tò mò: nói chung là nó có an toàn vim /etc/passwdkhông? Trong Linux, chúng tôi vipwđặc biệt dành cho công việc.
Kamil Maciorowski

@KamilMaciorowski: Tôi mới bắt đầu với WSL, nhưng tôi có thể nói điều đó sudo /usr/sbin/vipwgiống hệt như điểm 2 của tôi ở trên. Thay đổi /etc/passwdlà an toàn như làm trên Linux. Có thể an toàn hơn vì phá hủy nó không ảnh hưởng đến đăng nhập Windows.
harrymc

Cảm ơn bạn! Tôi không biết tại sao cách duy nhất tôi có thể tìm thấy để chỉnh sửa điều này là thông qua usermod.
Xeon06

4
Hãy cẩn thận với điều này - nếu bạn rời khỏi hệ thống tập tin linux giả mạo chính, bạn sẽ thấy bạn không thể chỉnh sửa quyền của tập tin một cách chính xác.
Hippyjim

@Hippyjim Tôi đang đối mặt với cùng một vấn đề và phát hiện ra rằng SO anwser này có thể giúp đỡ (yêu cầu Win 10 Insider Build 17063 trở lên).
Cuối tuần

1

Bạn có thể thử chạy lxrun /setdefaultuser roottrong dấu nhắc lệnh, sau đó thay đổi thư mục, sau đó thay đổi người dùng mặc định thành Alex.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.