Bạn thường xuyên phải chờ đợi các lệnh dài chạy trong terminal Ubuntu? Bạn muốn nhận được thông báo ngay khi chúng hoàn thành để không bỏ lỡ công việc? Bài viết này sẽ cung cấp cho bạn các giải pháp đơn giản và hiệu quả để nhận thông báo desktop khi các lệnh bash chạy quá thời gian quy định. Giúp bạn tiết kiệm thời gian, tăng năng suất và tập trung vào công việc khác trong khi chờ đợi.
Có nhiều cách để cấu hình thông báo khi các lệnh trong terminal của bạn hoàn thành. Dưới đây là một số phương pháp phổ biến nhất, từ đơn giản đến phức tạp, phù hợp với nhiều nhu cầu sử dụng khác nhau:
Phương pháp này đòi hỏi bạn chỉnh sửa file cấu hình `.bashrc` trong thư mục home của bạn. Đây là một cách tùy biến cao, cho phép bạn định nghĩa alias hoặc hàm để tự động gửi thông báo khi lệnh kết thúc.
Ví dụ, bạn có thể sử dụng alias `alert` để gửi thông báo:
alias alert='notify-send --urgency=low -i "terminal" "$(history|tail -n1|sed -e \'s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//\')"'
Sau đó, bạn có thể sử dụng nó như sau: `sudo apt-get update; alert`. Khi lệnh `sudo apt-get update` hoàn thành, một thông báo sẽ hiển thị trên desktop của bạn.
Một cách tiếp cận khác là sử dụng một "wrapper" function. Function này sẽ theo dõi thời gian thực thi của một lệnh và chỉ gửi thông báo nếu lệnh đó chạy lâu hơn một ngưỡng thời gian nhất định (ví dụ: 15 giây).
Thêm đoạn code sau vào file `.bashrc`:
wrapper() {
start=$(date +%s)
"$@"
if [ $(($(date +%s) - start)) -gt 15 ]; then
notify-send "Thông báo" "Lệnh \"$(echo $@)\" mất $(($(date +%s) - start)) giây để hoàn thành"
fi
}
Sau đó, sử dụng nó như sau: `wrapper sudo apt-get update`. Nếu lệnh `sudo apt-get update` chạy lâu hơn 15 giây, bạn sẽ nhận được một desktop notification.
`Undistract-me` là một công cụ được thiết kế đặc biệt để gửi thông báo khi các lệnh dài hoàn thành. Nó có thể được cài đặt từ kho lưu trữ Ubuntu:
sudo apt-get install undistract-me
Sau khi cài đặt, bạn cần thêm các dòng sau vào file `.bashrc`:
. /usr/share/undistract-me/long-running.bash
notify_when_long_running_commands_finish_install
Sau khi khởi động lại terminal hoặc source lại `.bashrc`, `undistract-me` sẽ tự động phát hiện và thông báo khi các lệnh dài hoàn thành.
Telert là một công cụ đa năng giúp bạn nhận thông báo khi các lệnh CLI hoặc hàm Python hoàn thành. Nó hỗ trợ nhiều kênh thông báo như Telegram, Slack, Discord, thông báo desktop, và nhiều hơn nữa.
pip install telert
telert config desktop --set-default
eval "$(telert hook -l 15)"
echo 'eval "$(telert hook -l 15)"' >> ~/.bashrc
Sau khi cài đặt và cấu hình, Telert sẽ tự động gửi thông báo desktop khi các lệnh chạy quá 15 giây.
Việc nhận thông báo khi các lệnh dài trong terminal hoàn thành là một cách tuyệt vời để cải thiện quy trình làm việc và tăng năng suất. Bạn có thể lựa chọn phương pháp phù hợp nhất với nhu cầu và sở thích của mình. Chúc bạn thành công!
Bài viết liên quan