GNU/Linux >> Belajar Linux >  >> Linux

Undistract-me :Dapatkan Pemberitahuan Saat Perintah Terminal yang Berjalan Lama Selesai

Beberapa waktu lalu, kami memublikasikan cara mendapatkan pemberitahuan saat aktivitas Terminal selesai . Hari ini, saya menemukan utilitas serupa yang disebut "undistract-me" yang memberi tahu Anda ketika perintah terminal yang berjalan lama selesai. Bayangkan skenario ini. Anda menjalankan perintah yang membutuhkan waktu beberapa saat untuk menyelesaikannya. Sementara itu, Anda memeriksa facebook Anda dan terlibat di dalamnya. Setelah beberapa saat, Anda ingat bahwa Anda menjalankan perintah beberapa menit yang lalu. Anda kembali ke Terminal dan perhatikan bahwa perintah telah selesai. Tapi Anda tidak tahu kapan perintah selesai . Pernahkah Anda berada dalam situasi ini? Saya yakin sebagian besar dari Anda berada dalam situasi ini berkali-kali. Di sinilah "undistract-me" datang membantu. Anda tidak perlu terus-menerus memeriksa terminal untuk melihat apakah suatu perintah telah selesai atau tidak. Utilitas Undistract-me akan memberi tahu Anda ketika perintah yang berjalan lama selesai. Ini akan bekerja di Arch Linux, Debian, Ubuntu dan turunan Ubuntu lainnya.

Menginstal Undistract-me

Undistract-me tersedia di repositori default Debian dan variannya seperti Ubuntu. Yang harus Anda lakukan adalah menjalankan perintah berikut untuk menginstalnya.

$ sudo apt-get install undistract-me

Linux Arch pengguna dapat menginstalnya dari AUR menggunakan program pembantu apa pun, misalnya YaY .

$ yay -S undistract-me-git

Kemudian, jalankan perintah berikut untuk menambahkan "undistract-me" ke Bash Anda.

$ echo 'source /etc/profile.d/undistract-me.sh' >> ~/.bashrc

Atau Anda dapat menjalankan perintah ini untuk menambahkannya ke Bash Anda:

$ echo "source /usr/share/undistract-me/long-running.bash\nnotify_when_long_running_commands_finish_install" >> .bashrc

Jika Anda berada di Zsh shell, jalankan perintah ini:

$ echo "source /usr/share/undistract-me/long-running.bash\nnotify_when_long_running_commands_finish_install" >> .zshrc

Terakhir perbarui perubahannya:

Untuk Bash:

$ source ~/.bashrc

Untuk Zsh:

$ source ~/.zshrc

Konfigurasikan Undistract-me

Secara default, Undistract-me akan mempertimbangkan perintah apa pun yang membutuhkan waktu lebih dari 10 detik untuk menyelesaikan sebagai perintah yang berjalan lama. Anda dapat mengubah interval waktu ini dengan mengedit /usr/share/undistract-me/long-running.bash berkas.

$ sudo nano /usr/share/undistract-me/long-running.bash

Temukan "LONG_RUNNING_COMMAND_TIMEOUT" variabel dan ubah nilai default (10 detik) ke sesuatu yang lain pilihan Anda.

Simpan dan tutup file. Jangan lupa untuk memperbarui perubahan:

$ source ~/.bashrc

Anda juga dapat menonaktifkan notifikasi untuk perintah tertentu. Untuk melakukannya, temukan "LONG_RUNNING_IGNORE_LIST" variabel dan tambahkan perintah yang dipisahkan spasi.

Secara default, pemberitahuan hanya akan ditampilkan jika jendela aktif bukan jendela tempat perintah dijalankan. Artinya, pemberitahuan hanya akan memberi tahu Anda jika perintah berjalan di jendela Terminal latar belakang. Jika perintah berjalan di Terminal jendela aktif, Anda tidak akan diberi tahu. Jika Anda ingin undistract-me untuk mengirim pemberitahuan baik jendela Terminal terlihat atau di latar belakang, Anda dapat mengatur IGNORE_WINDOW_CHECK ke 1 untuk melewati pemeriksaan jendela.

Fitur keren lainnya dari Undistract-me adalah Anda dapat mengatur notifikasi audio bersama dengan notifikasi visual saat sebuah perintah selesai. Secara default, itu hanya akan mengirim pemberitahuan visual. Anda dapat mengubah perilaku ini dengan menyetel variabel UDM_PLAY_SOUND ke bilangan bulat bukan nol pada baris perintah. Namun, sistem Ubuntu Anda harus memiliki pulseaudio-utils dan desktop bebas tema suara utilitas diinstal untuk mengaktifkan fungsi ini.

Harap diingat bahwa Anda perlu menjalankan perintah berikut untuk memperbarui perubahan yang dibuat.

Untuk Bash:

$ source ~/.bashrc

Untuk Zsh:

$ source ~/.zshrc

Saatnya untuk memverifikasi apakah ini benar-benar berfungsi.

Dapatkan Pemberitahuan Saat Perintah Terminal yang Berjalan Lama Selesai

Sekarang, jalankan perintah apa pun yang membutuhkan waktu lebih lama dari 10 detik atau durasi waktu yang Anda tentukan di skrip Undistract-me.

Saya menjalankan perintah berikut di desktop Arch Linux saya.

$ sudo pacman -Syu

Perintah ini membutuhkan waktu 32 detik untuk diselesaikan. Setelah menyelesaikan perintah di atas, saya mendapat pemberitahuan berikut.

Harap ingat skrip Undistract-me memberi tahu Anda hanya jika perintah yang diberikan membutuhkan waktu lebih dari 10 detik untuk diselesaikan. Jika perintah selesai dalam waktu kurang dari 10 detik, Anda tidak akan diberi tahu. Tentu saja, Anda dapat mengubah pengaturan interval waktu ini seperti yang saya jelaskan di bagian Konfigurasi di atas.

Saya menemukan alat ini sangat berguna. Ini membantu saya untuk kembali ke bisnis setelah saya benar-benar hilang dalam beberapa tugas lain. Saya harap alat ini akan membantu Anda juga.


Linux
  1. Sarankan Pemasangan Paket Saat Menjalankan Perintah yang Tidak Tersedia

  2. Commandline menimpa dirinya sendiri ketika perintah terlalu panjang

  3. Menjalankan perintah terminal loop di Jupyter

  1. 8 perintah menyeramkan yang menghantui terminal

  2. Menjalankan Perintah Linux di Latar Belakang dan Latar Depan

  3. A sampai Z Perintah Linux

  1. Apakah menjalankan perintah dengan kata-kata membuatnya lebih lambat?

  2. perintah ip di terminal Mac OS X

  3. Cara mendapatkan total waktu kerja hard disk