क्या सिस्टम पर अन्य उपयोगकर्ताओं को संदेश भेजने के लिए सूचित-भेजने का उपयोग करना संभव है?
एक निर्दिष्ट उपयोगकर्ता के लिए अधिमानतः, लेकिन सिस्टम चौड़ा भी काम करेगा।
Ubuntu / Debian के साथ libnotify स्थापित है
क्या सिस्टम पर अन्य उपयोगकर्ताओं को संदेश भेजने के लिए सूचित-भेजने का उपयोग करना संभव है?
एक निर्दिष्ट उपयोगकर्ता के लिए अधिमानतः, लेकिन सिस्टम चौड़ा भी काम करेगा।
Ubuntu / Debian के साथ libnotify स्थापित है
जवाबों:
यदि आपके पास अन्य उपयोगकर्ता पासवर्ड है तो आप कर सकते हैं sudo -u somedude notify-send Hello
। किसी दिन एक्स-सत्र प्रारंभ होना चाहिए।
संपादित करें: क्रोन के साथ उपयोग के लिए यह स्क्रिप्ट मिली:
#!/bin/bash
PATH=/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin
export DISPLAY=:0.0
export $(grep -z DBUS_SESSION_BUS_ADDRESS /proc/$(pgrep -session)/environ )
TIME=$1
shift
/usr/bin/notify-send -t 36000 $1 $2
-session
?
pgrep
को X- सेशन मैनेजर यानी lxde-session, gnome-session इत्यादि की पिड मिलना माना जाता है। यह स्क्रिप्ट सबसे अच्छा क्रूड हैक है और आपके सिस्टम सेटअप पर बहुत कुछ निर्भर करता है। यह काम किया जब मैंने जवाब दिया लेकिन अब संशोधन के बिना काम नहीं करता है, 5 साल बाद।
मैं निम्नलिखित परियोजना पर ठोकर खाई है जो एक उपयोगकर्ता को सूचित करता है: tinynotify-send
मुझे सभी सत्रों के लिए अधिसूचना भेजने के लिए समान उपकरण की आवश्यकता थी। यहाँ मेरा समाधान है: /unix//a/230062/93227
यह सभी सत्रों को खोजने के लिए स्कैन / खरीद करता है और फिर यह प्रत्येक (एक बार प्रति बस) पर सूचना-भेजने को निष्पादित करता है। सभी तर्कों को वास्तविक सूचना-भेजने के लिए अपरिवर्तित किया जाता है।
#!/bin/bash
/bin/grep -sozZe '^DBUS_SESSION_BUS_ADDRESS=[a-zA-Z0-9:=,/-]*$' /proc/*/environ \
| /usr/bin/php -r '
$busses = array();
array_shift($argv);
while($ln = fgets(STDIN)) {
list($f, $env) = explode("\0", $ln, 2);
if (file_exists($f)) {
$user = fileowner($f);
$busses[$user][trim($env)] = true;
}
}
foreach ($busses as $user => $user_busses) {
foreach ($user_busses as $env => $true) {
if (pcntl_fork()) {
posix_seteuid($user);
$env_array = array("DBUS_SESSION_BUS_ADDRESS" => preg_replace("/^DBUS_SESSION_BUS_ADDRESS=/", "", $env));
pcntl_exec("/usr/bin/notify-send", $argv, $env_array);
}
}
}
' -- "$@"