Linux용 최고의 알림 보내기 대안 5가지

Linux용 최고의 알림 보내기 대안 5가지

notify-send와 같은 알림 서버는 모든 데스크탑 Linux 배포판의 중요한 부분입니다. 이를 통해 컴퓨터에서 현재 실행 중인 모든 프로그램의 모든 상태 알림을 받을 수 있습니다.

이 가이드는 Linux에서 가장 유용한 알림 서버를 보여줍니다. 또한 컴퓨터에 설치하고 기본 알림 메시지를 보내는 방법도 보여줍니다.

알림 전송은 어떻게 작동합니까?

notify-send와 같은 알림 서버는 현재 백그라운드에 있는 프로그램의 “상태 이벤트”를 인쇄하는 데몬입니다. 시스템에서 실행 중인 모든 프로세스에서 특정 유형의 메시지를 수신함으로써 작동합니다.

libnotify 표준의 세그먼트를 보여주는 텍스트 테이블의 스크린샷.
이미지 출처: Galago 프로젝트

상태 메시지를 받으면 데몬은 백그라운드 프로세스가 보낸 메시지와 데몬의 추가 서식이 포함된 작은 창을 바탕 화면에 그립니다.

Gnome의 토스트 알림 스크린샷.

오늘날 대부분의 데스크톱 환경은 자체 알림 서버를 통합하지만 이들의 한 가지 주요 제한 사항은 거의 확장할 수 없다는 것입니다. 상태를 데스크탑에 직접 인쇄하는 사용자 지정 스크립트를 실행하려는 경우 문제가 될 수 있습니다.

간단한 사용자 지정 메시지를 표시하는 Gnome의 토스트 알림 스크린샷.

타사 알림 서버를 설치하여 이 제한 사항을 해결할 수 있습니다. 이러한 프로그램을 사용하면 시스템의 기존 응용 프로그램 및 스크립트에서 자주 작동하는 사용자 지정 매개 변수 및 형식을 설정할 수 있습니다.

1. 던스트

Dunst는 Linux에서 가장 널리 사용되는 타사 알림 서버 중 하나입니다. Xorg에서 알림을 표시하기 위해 원래 libnotify 라이브러리를 사용하는 경량 데몬입니다. Dunst는 또한 사용자 지정 색상 및 창 형상과 같은 기능을 도입하여 원래 알림 보내기 프로그램을 개선하는 것을 목표로 합니다.

간단한 Dunst 알림의 스크린샷.

그 외에도 쉘 스크립팅을 통해 Dunst를 확장하는 것도 가능합니다. notify-send와 달리 이 프로그램을 사용하면 특정 조건이 충족될 때만 실행되는 복잡한 알림 규칙을 만들 수 있습니다. 예를 들어 노트북의 충전 수준이 30%로 떨어지면 Dunst에 “배터리 경고” 알림을 표시하도록 지시할 수 있습니다.

중요한 정보를 보여주는 Dunst 알림의 스크린샷.

다음 명령을 실행하여 Ubuntu에 Dunst를 설치합니다.

sudo apt install dunst

Dunst 설치 프로세스의 터미널 스크린샷.

이 프로그램은 pacman을 통해 Arch Linux에서 설치 가능한 패키지로도 사용할 수 있습니다.

sudo pacman -S dunst

또한 dnf 패키지 관리자를 사용하여 Fedora에 이 프로그램을 설치합니다.

sudo dnf install dunst

다음 명령 을 실행하여 Dunst가 시스템에서 제대로 작동하는지 테스트합니다 dunstify.

dunstify "MakeTechEasier""Hello world!"

맞춤 메시지를 보여주는 Dunst 알림의 스크린샷.

2. Deadd 알림 센터

Deadd 알림 센터는 Linux 시스템용 통합 알림 플랫폼을 생성하려고 시도하는 광범위한 알림-보내기 데몬입니다. 또한 notify-send를 사용하여 시스템의 다른 프로그램과 통신합니다.

간단한 메시지를 보여주는 Deadd 알림 창의 스크린샷.

Deadd 알림 센터의 가장 큰 장점 중 하나는 “개요” 패널입니다. 시스템의 모든 이전 알림을 표시할 수 있는 임시 풀업 창입니다. 이는 컴퓨터에서 계속 떨어져 있고 특정 시스템 이벤트로 업데이트하려는 경우에 유용합니다.

Deadd 알림 센터의 스크린샷.

Arch Linux에서 AUR 도우미를 사용하여 Deadd 알림 센터를 설치할 수 있습니다.

sudo yay deadd-notification-center

Ubuntu에서 먼저 종속 항목을 설치합니다.

sudo apt install haskell-stack python3-cairo-dev gobject-introspection wget pkg-config build-essential libpython3-dev libdbus-1-dev

Deadd의 종속성 설치 프로세스를 보여주는 터미널 창 스크린샷.

다음으로 Git 리포지토리에서 프로그램 사본을 다운로드하고 압축을 풉니다.

wget https://github.com/phuhl/linux_notification_center/archive/refs/tags/1.7.2.tar.gz
tar xvzf. /1.7.2.tar.gz

리포지토리의 디렉터리 내부로 이동하여 다음 명령을 실행합니다.

cd linux_notification_center-1.7.2
wget https://github.com/phuhl/linux_notification_center/releases/download/1.7.2/deadd-notification-center
mkdir -p. out
mv deadd-notification-center. out
sudo make install

Deadd 설치 프로세스를 보여주는 터미널 창의 스크린샷.

명령을 실행하여 notify-send데몬이 작동하는지 테스트합니다.

notify-send "Hello world!"

사용자 정의 메시지를 보여주는 Deadd 알림 창의 스크린샷.

3. fnott

미니멀하고 우아합니다. Fnott 는 Wayland 기반 데스크톱 환경을 위한 최신 알림 데몬입니다. 이전 항목과 달리 이 프로그램은 기본 기능 집합을 액세스하고 사용하기 쉽게 만드는 데 중점을 둡니다.

기본 fnott 알림 창의 이미지입니다.

Fnott는 알림 창의 기하학 및 색상을 변경하는 기능과 같은 간단한 옵션 목록을 제공합니다. 그 외에도 이 프로그램을 사용하면 작업 버튼과 긴급 수준을 포함할 수 있습니다.

배터리 부족 메시지를 표시하는 fnott 알림 창 이미지.

Deadd 알림 센터와 마찬가지로 fnott는 현재 대부분의 Linux 배포판에 패키지로 존재하지 않습니다. 사용하려면 소스에서 컴파일해야 합니다.

시작하려면 먼저 fnott의 모든 종속 항목을 가져옵니다.

sudo apt install git fontconfig libfontconfig-dev libfreetype-dev libpixman-1 libpixman-1-dev libpng-dev wayland-protocols libwayland-dev libdbus-1-dev meson ninja-build scdoc

fnott에 대한 종속성 설치를 보여주는 터미널 창입니다.

다음으로 Git을 사용하여 프로그램의 리포지토리를 복제합니다.

git clone https://codeberg.org/dnkl/fnott.git

fnott용 빌드 디렉토리를 생성하고 빌드합니다.

cd. /fnott
mkdir -p build/out && cd build/out
meson --buildtype=release
ninja

fnott의 컴파일 프로세스를 보여주는 터미널 창.

fnott를 실행하고 첫 번째 알림을 보냅니다.cm:

./fnott
notify-send "Hello world!"

맞춤 메시지를 표시하는 fnott 알림 창 이미지.

4. 마코

Mako 는 Wayland 기반 데스크톱 환경을 위한 알림 데몬입니다. 그러나 fnott와 달리 Dunst에서 구성 형식과 스타일을 많이 차용하여 사용자가 Xorg에서 Wayland로 구성 파일을 매우 쉽게 이식할 수 있습니다.

간단한 메시지를 보여주는 mako 알림창 이미지.

호환성 기능 외에도 mako는 특정 “모드”에서 알림을 그룹화하는 기능이 뛰어납니다. 특정 속성을 상속할 수 있는 알림 창을 그룹화할 수 있는 조건부 상태입니다.

배터리 부족 메시지를 표시하는 mako 알림 창 이미지.

대부분의 Linux 배포판에서 mako를 패키지로 설치합니다. 예를 들어 다음 명령을 실행하여 Ubuntu에 프로그램을 설치할 수 있습니다.

sudo apt install mako-notifier

mako의 설치 프로세스를 보여주는 터미널 창.

또한 dnf를 통해 Fedora에 mako를 설치합니다.

sudo dnf install mako

Arch Linux에서 커뮤니티 패키지로도 제공됩니다.

sudo pacman -S mako

설치가 완료되면 다음 명령을 실행하여 mako를 알림 데몬으로 사용하기 시작합니다.

mako
notify-send "Hello world!"

사용자 지정 메시지를 표시하는 mako 알림 창 이미지.

5. 통계

Statnot은 Linux용으로 매우 간소한 알림 데몬입니다. dwm과 같은 X 기반 창 관리자에서 상태 이벤트를 표시하는 이해하기 쉬운 방법을 만드는 것을 목표로 합니다.

statnot을 실행하는 dwm의 스크린샷 섹션.

일반 데몬과 달리 statnot은 창 관리자의 상태 표시줄을 사용하여 일반 표시줄 텍스트를 “NOTIFICATION:” 경고로 능동적으로 교체하여 현재 알림을 표시하는 방식으로 작동합니다. 이 접근 방식은 statnot을 창 관리자 시스템에 현재 상태 이벤트를 표시하는 훌륭하고 방해가 되지 않는 방법으로 만듭니다.

그 외에도 statnot의 가장 큰 판매 포인트 중 하나는 구성이 쉽다는 것입니다. 대부분의 경우 statnot 데몬은 원하는 대로 정확하게 작동하도록 사용자 정의할 수 있는 간단한 셸 스크립트만 사용합니다.

statnot에 대한 샘플 상태 표시줄 스크립트를 보여주는 터미널 창입니다.

Statnot은 현재 대부분의 Linux 배포판에서 패키지로 사용할 수 없습니다. 컴퓨터에서 사용하려면 이 프로그램을 컴파일해야 합니다.

시작하려면 먼저 모든 종속 항목을 설치합니다.

sudo apt install git python3 python3-dbus python3-gi python3-gi-cairo gir1.2-gtk-3.0 libdbus-1-dev make

statnot에 대한 종속성 설치 프로세스를 보여주는 터미널 창입니다.

개발자 웹사이트에서 프로그램 저장소를 복제합니다.

git clone https://github.com/halhen/statnot.git

저장소 디렉토리로 이동하여 프로그램을 컴파일합니다.

cd statnot
sudo make install

statnot의 설치 과정을 보여주는 터미널 창.

알림을 표시하기 위해 statnot이 열리는 스크립트 파일을 만듭니다. 다음 명령을 실행하여 이를 수행하십시오.

touch /home/$USER/.statusline.sh

libnotify와 statnot 사이의 가교 역할을 할 쉘 스크립트를 내부에 작성하십시오. 다음은 부분적으로 수정한 개발자의 기본 스크립트입니다.

#!/bin/sh

if [ $# -eq 0 ]; thenecho "This is statnot running!";
elseecho "NOTIFICATION: $1";
fi

터미널에서 다음을 실행하거나 Xinit 시작 스크립트에 추가하여 statnot을 사용하십시오.

statnot &

stat이 실행되지 않고 사용자 정의 알림을 표시하는 터미널 창.

자주 묻는 질문

Dunst를 설치한 후 알림 전송 알림이 작동을 멈췄습니다.

이 문제는 설치 후 시스템이 Dunst를 제대로 로드할 수 없기 때문에 발생했을 가능성이 큽니다. 이 문제를 해결하는 한 가지 빠른 방법은 현재 세션에서 로그아웃하거나 컴퓨터를 다시 시작하는 것입니다.

Mako는 여전히 알림-보내기 알림 창을 사용하고 있습니다.

이 문제의 가장 일반적인 원인은 libnotify와 dbus 간의 충돌입니다. mako는 Wayland 전용 데몬이므로 libnotify 라이브러리가 필요하지 않습니다.

시스템에서 libnotify를 제거하여 이 문제를 해결할 수 있습니다 sudo apt remove libnotify.

Statnot이 내 컴퓨터에서 실행되지 않는 것 같습니다.

이것은 statnot과 시스템의 notify-send 데몬 사이의 충돌로 인해 발생했을 가능성이 큽니다. 다음을 사용하여 기본 알림 서버를 종료하면 이 문제를 해결할 수 있습니다
pkill notification-daemon-name; statnot &.

이미지 크레디트: Unsplash . Ramces Red의 모든 변경 및 스크린샷.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다