Phục hồi lại Termux khi bị hỏng môi trường làm việc - Termux tự thoát khi khởi động

Nếu Termux thoát ngay khi khởi chạy hoặc khởi chạy shell không đúng cách. Có khả năng cao là môi trường làm việc đã bị hỏng. Nguyên nhân rất có thể là đã xảy ra một lỗi nghiêm trọng trong dotfile của các ông khi được đọc bởi shell khiến nó thoát ngay lập tức. Để phục hồi từ các lỗi như vậy, Termux cung cấp phiên Failsafe.

Để khởi chạy phiên Failsafe

Đóng tất cả các phiên, và đóng ứng dụng
Nhấn giữ vào biểu tượng khởi động của Termux ở ngoài màn hình và chọn vào "failsafe". (Mới xuất hiện trong những phiên bản mới gần đây)

Hoặc nhấn và giữ nút "NEW SESION" trong ngăn kéo bên trái trong ứng dụng termux. Sau đó chọn "failsafe".

Bây giờ các ông đang ở trong một phiên Failsafe. Nó khởi chạy Shell mặc định của Android tại /system/bin/sh với quyền truy cập vào thư mục Termux. Mặc dù thực tế là Android shell rất hạn chế, các ông vẫn có thể lưu tệp của mình vào /sdcard hoặc thực hiện một số bước khôi phục.

Khắc phục sự cố

Bây giờ, các ông có một số quyền truy cập vào Termux để tiến hành khắc phục sự cố. Nếu các ông không biết dotfile nào bị hỏng, hãy cuộn về dưới phần dotfile bên dưới và tham khỏa. Nó rất có thể là dotfile mà các ông đã sửa lại lần cuối. Khi đã xác định được dotfile bị hỏng, hãy đổi tên nó sang một tên mới. Thí dụ:
mv .profile .profile.bak

Bây giờ các ông có thể thử khởi chạy một phiên bình thường một lần nữa. Nếu nó vẫn không hoạt động, các ông sẽ phải kiểm tra lại các dotfiles khác. Mặt khác, vì bây giờ các ông có quyền truy cập vào Termux nên các ông có thể chỉnh sửa tệp hỏng bằng trình soạn thảo văn bản các ông yêu thích và khắc phục sự cố. Sau đó, di chuyển tệp trở lại vị trí ban đầu.

Dotfiles có khả năng bị hỏng

Nếu các ông sử dụng bash (mặc định), các dotfiles này sẽ được load:
.profile
.bash_profile
.bashrc
Nếu sử dụng zsh:
.profile
.zshrc

Nếu trước đó các ông sử dụng chsh để thiết lập shell khác.

Nếu các ông đã sử dụng chsh để đặt shell mặc định của mình và làm hỏng môi trường. Trong trường hợp này, sử dụng  phiên Failsafe để xóa ~/.termux/shell và khởi chạy một phiên bình thường mới.
rm -rf /data/data/com.termux/files/home/.termux/shell

Nếu lỗi không nằm ở phía các dotfiles

Nếu vấn đề không xảy ra với dotfiles, khả năng cao là bị hỏng $PREFIX. Điều này có thể đã xảy ra theo nhiều cách khác nhau. Có thể đã có một bản cập nhật bị hỏng, một cái gì đó bị lỗi không đúng lúc hoặc do khám phá $PREFIX. Trong trường hợp này, tùy chọn tốt nhất loại bỏ $PREFIX hoàn toàn.
rm -rf /data/data/com.termux/files/usr
Sau đó, khởi động lại hoàn toàn Termux, điều này sẽ kích hoạt cài đặt lại $PREFIX theo mặc định và tất nhiên các ông phải cài đặt lại tất cả các chương trình của mình, nhưng thư mục $HOMEsẽ không bị ảnh hưởng, vì vậy tất cả các dotfiles của các ông vẫn ở đó.