Hôm nay chúng ta đã hoàn thành việc xây dựng một môi trường làm việc chuyên nghiệp cho:
- WSL Ubuntu 24.04
- GitHub SSH authentication
- R Linux + R Windows song song
- Prompt tùy biến theo phong cách cá nhân
- Function tự động commit/push
- Auto SSH agent
- Workspace chuẩn hóa
Đây không còn là môi trường mặc định nữa — mà là một môi trường dev được cá nhân hóa, sạch, ổn định và có hệ thống.
-
RStudio Desktop (R 4.5.2 ucrt)
-
PowerShell
-
Workspace chính:
D:/GitHub/wsl
- Ubuntu 24.04
- User:
wsl_l - R Linux: 4.3.3
- Git cấu hình qua SSH
- Prompt tùy biến Liêm 2.x
- SSH agent tự động khởi động
-
Dùng HTTPS
-
GitHub không còn cho password authentication
-
Push bị lỗi:
Invalid username or token
ssh-keygen -t ed25519 -C "liem20k@gmail.com"
Settings → SSH and GPG keys → New SSH key
ssh -T git@github.com
Thành công:
Hi henrydoth!
git remote set-url origin git@github.com:henrydoth/wsl.git
- Không cần nhập password
- Push/pull hoạt động tự động
- Môi trường chuyên nghiệp
09:20:37 532/11919MB [R 4.3.3] wsl_l@liem-pchome /mnt/d/GitHub/wsl (main)
❯
| Thành phần | Ý nghĩa |
|---|---|
| 09:20:37 | Thời gian |
| 532/11919MB | RAM used/total |
| [R 4.3.3] | Chỉ hiển thị khi ở R project |
| wsl_l@liem-pchome | user@host |
| path | thư mục hiện tại |
| (main) | git branch |
Thêm vào .bashrc:
- Tự khởi động ssh-agent nếu chưa có
- Tự add id_ed25519 nếu chưa add
Kết quả:
- Mở terminal là
git pushchạy ngay - Không phải nhập lại password
Thay vì dùng alias git rời rạc, ta tạo function:
gp "message"
Thực hiện:
- git add -A
- git commit (timestamp + user)
- git push
Ví dụ commit:
2026-02-21 09:12 | wsl_l | update prompt config
- Không commit rỗng
- Có timestamp
- Có user
- Không cần nhớ 3 lệnh
Đây là phần quan trọng nhất trong buổi hôm nay.
Khi chỉnh .bashrc bằng RStudio Windows:
File được lưu với:
CRLF
Trong Linux, bash cần:
LF
Lỗi xảy ra:
syntax error near unexpected token $'{\r''
Trong WSL:
sed -i 's/\r$//' ~/.bashrc
Nếu chỉnh file Linux bằng Windows:
- Line Endings = LF
- Encoding = UTF-8
- Sau khi lưu → luôn chạy:
sed -i 's/\r$//' ~/.bashrc
| Lệnh | Chạy ở đâu |
|---|---|
| wsl | PowerShell |
| source ~/.bashrc | WSL |
| git push | WSL |
| getwd() | R |
| file.edit() | RStudio Windows |
Chạy wsl bên trong WSL:
Command 'wsl' not found
Vì wsl là lệnh Windows, không phải Linux.
Môi trường dev không chỉ là tool.
Nó là:
- Trạng thái tinh thần
- Nhịp làm việc
- Sự rõ ràng
- Tính nhất quán
Prompt hiển thị RAM, R version, branch… Không phải để “đẹp” Mà để luôn ý thức mình đang ở đâu.
D:/GitHub/
├── wsl/
├── dtcs25_sstt/
├── nejm/
├── chu_vang_sanh/
WSL mount:
/mnt/d/GitHub/
- source ~/.bashrc
- git status
- ssh-add -l
- test gp
- kiểm tra LF nếu có lỗi
Bạn đang có:
- WSL chuẩn
- SSH chuẩn
- Prompt cá nhân hóa
- Function commit thông minh
- Workspace chuẩn
- Không lỗi CRLF
- Không password GitHub
- Hệ thống sạch
Đây là một môi trường dev thực thụ.
Hôm nay không chỉ là setup.
Đây là:
- Luyện tư duy hệ thống
- Làm chủ môi trường
- Hiểu sâu Linux
- Hiểu rõ Git
- Phân biệt Windows vs WSL
Và quan trọng nhất:
Bạn không còn dùng máy theo cách mặc định nữa. Bạn đang điều khiển nó.
🌼 Nam Mô A Di Đà Phật
✨ Hào quang vô lượng chiếu tâm
WSL · an trú · tĩnh sáng · làm việc như tu tập
Biến WSL thành:
- 🌈 Terminal có Chú Vãng Sinh màu sắc
- 🎮 Linux playground: cowsay, tàu lửa, tetris, matrix…
- 🔁 Đồng bộ GitHub – máy nào cũng dùng lại được
ln -sfn /mnt/d/GitHub/wsl ~/wsl