Текущая версия пакета надежного ядра - 3.13.0.32.38, которая переводится в версию linux 3.13.0-32, поэтому ваш штраф: -)
Я адаптировал свой сценарий, чтобы реагировать на изменения в буфере обмена отсюда, чтобы он отображал собственный пузырь уведомлений всякий раз, когда вы что-то копируете:
#!/usr/bin/env python3
# Configuration:
APPNAME = "Clipboard Notifier" # an arbitrary application name
TITLE = "Clipboard modified" # the bold headline of each notification
ICON = "edit-paste" # name of the icon to show
MAXLENGTH = 100 # maximum message length
# Imports:
import gi
import signal
import notify2
gi.require_version("Gtk", "3.0")
from gi.repository import Gtk, Gdk
# Set up signal handler for killing the script with Ctrl+C from terminal:
signal.signal(signal.SIGINT, signal.SIG_DFL)
# Initialize the notifications library:
notify2.init(APPNAME)
# Callback function to handle clipboard modification events:
def callback(*args):
# Get new clipboard content:
text = clip.wait_for_text()
# Truncate long content to avoid huge notification bubbles:
body = text if len(text) < MAXLENGTH else text[:MAXLENGTH] + "..."
# Create and show notification bubble:
notify2.Notification(TITLE, body, ICON).show()
# Set up clipboard and register callback for change events
clip = Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD)
clip.connect("owner-change", callback)
# Start Gtk main loop and wait for events:
Gtk.main()
Сохраните это где-нибудь (например, как /usr/local/bin/clipboard-notifier - вам нужно sudo, чтобы разрешить писать в этом месте, но, альтернативно, поместить его в ~/bin) и сделать его исполняемым с помощью команды chmod +x FILENAME.
Мой скрипт использует пакет Python 3 notify2 для отображения собственных пузырьков уведомлений. Этот пакет обычно не устанавливается по умолчанию, вы должны сначала добавить его с помощью следующей команды:
sudo apt install python3-notify2
Если вы хотите, вы можете изменить значения капитализированных переменных рядом с началом сценария, чтобы ваши потребности, особенно TITLE и MAXLENGTH, могут быть полезны для изменения.
Затем просто добавьте его в свои приложения для запуска и автоматически запустится при входе в систему в следующий раз. Вы также можете запустить сценарий вручную, например. Alt + F2 HUD в Unity.
Я адаптировал свой сценарий, чтобы реагировать на изменения в буфере обмена отсюда, чтобы он отображал собственный пузырь уведомлений всякий раз, когда вы что-то копируете:
#!/usr/bin/env python3
# Configuration:
APPNAME = "Clipboard Notifier" # an arbitrary application name
TITLE = "Clipboard modified" # the bold headline of each notification
ICON = "edit-paste" # name of the icon to show
MAXLENGTH = 100 # maximum message length
# Imports:
import gi
import signal
import notify2
gi.require_version("Gtk", "3.0")
from gi.repository import Gtk, Gdk
# Set up signal handler for killing the script with Ctrl+C from terminal:
signal.signal(signal.SIGINT, signal.SIG_DFL)
# Initialize the notifications library:
notify2.init(APPNAME)
# Callback function to handle clipboard modification events:
def callback(*args):
# Get new clipboard content:
text = clip.wait_for_text()
# Truncate long content to avoid huge notification bubbles:
body = text if len(text) < MAXLENGTH else text[:MAXLENGTH] + "..."
# Create and show notification bubble:
notify2.Notification(TITLE, body, ICON).show()
# Set up clipboard and register callback for change events
clip = Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD)
clip.connect("owner-change", callback)
# Start Gtk main loop and wait for events:
Gtk.main()
Сохраните это где-нибудь (например, как /usr/local/bin/clipboard-notifier - вам нужно sudo, чтобы разрешить писать в этом месте, но, альтернативно, поместить его в ~/bin) и сделать его исполняемым с помощью команды chmod +x FILENAME.
Мой скрипт использует пакет Python 3 notify2 для отображения собственных пузырьков уведомлений. Этот пакет обычно не устанавливается по умолчанию, вы должны сначала добавить его с помощью следующей команды:
sudo apt install python3-notify2
Если вы хотите, вы можете изменить значения капитализированных переменных рядом с началом сценария, чтобы ваши потребности, особенно TITLE и MAXLENGTH, могут быть полезны для изменения.
Затем просто добавьте его в свои приложения для запуска и автоматически запустится при входе в систему в следующий раз. Вы также можете запустить сценарий вручную, например. Alt + F2 HUD в Unity.
Я адаптировал свой сценарий, чтобы реагировать на изменения в буфере обмена отсюда, чтобы он отображал собственный пузырь уведомлений всякий раз, когда вы что-то копируете:
#!/usr/bin/env python3
# Configuration:
APPNAME = "Clipboard Notifier" # an arbitrary application name
TITLE = "Clipboard modified" # the bold headline of each notification
ICON = "edit-paste" # name of the icon to show
MAXLENGTH = 100 # maximum message length
# Imports:
import gi
import signal
import notify2
gi.require_version("Gtk", "3.0")
from gi.repository import Gtk, Gdk
# Set up signal handler for killing the script with Ctrl+C from terminal:
signal.signal(signal.SIGINT, signal.SIG_DFL)
# Initialize the notifications library:
notify2.init(APPNAME)
# Callback function to handle clipboard modification events:
def callback(*args):
# Get new clipboard content:
text = clip.wait_for_text()
# Truncate long content to avoid huge notification bubbles:
body = text if len(text) < MAXLENGTH else text[:MAXLENGTH] + "..."
# Create and show notification bubble:
notify2.Notification(TITLE, body, ICON).show()
# Set up clipboard and register callback for change events
clip = Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD)
clip.connect("owner-change", callback)
# Start Gtk main loop and wait for events:
Gtk.main()
Сохраните это где-нибудь (например, как /usr/local/bin/clipboard-notifier - вам нужно sudo, чтобы разрешить писать в этом месте, но, альтернативно, поместить его в ~/bin) и сделать его исполняемым с помощью команды chmod +x FILENAME.
Мой скрипт использует пакет Python 3 notify2 для отображения собственных пузырьков уведомлений. Этот пакет обычно не устанавливается по умолчанию, вы должны сначала добавить его с помощью следующей команды:
sudo apt install python3-notify2
Если вы хотите, вы можете изменить значения капитализированных переменных рядом с началом сценария, чтобы ваши потребности, особенно TITLE и MAXLENGTH, могут быть полезны для изменения.
Затем просто добавьте его в свои приложения для запуска и автоматически запустится при входе в систему в следующий раз. Вы также можете запустить сценарий вручную, например. Alt + F2 HUD в Unity.
Я создал более стандартное решение с использованием сценариев bash только без дополнительных библиотек:
Вот как я это сделал:
Создайте файл с именем: clp-notify и сделайте это исполняемый файл.
Сохраните файл: /home/$USER/add-ons/scripts/clp-notify
#!/bin/bash
echo "Script $0 started..."
notify-send -u normal -t 3000 -i info 'Script Started!' $0
clip_command="xclip -selection clipboard -o"
current_value=`$clip_command`
while true
do
new_value=`$clip_command`
if [[ ! ("$current_value" == "$new_value") ]];
then
echo 'Clipboard Modified...'
notify-send -u normal -t 3000 -i info 'Clipboard Modified!' 'Your clipboard has been modified.'
current_value=$new_value
else
echo "Polliing..."
fi
sleep 1.5
done
Затем я создал второй файл с именем start-clipboard-polling, который вызывает вышеупомянутый скрипт, и это второй файл который добавляется к запуску:
#!/bin/bash
script_path=/home/$USER/add-ons/scripts/clp-notify
function IsClipboardPollingRunning
{
if (ps -A | grep -q "clp-notify")
then
return 1;
else
return 0;
fi
}
if (IsClipboardPollingRunning == 0)
then
echo "Starting $script_path"
nohup $script_path &
else
echo "$script_path is already running"
notify-send -u normal -t 3000 -i info 'Clipboard Notify' "$script_path is already running."
fi
Цель этого второго файла состоит в том, чтобы предотвратить запуск исходного clp-notify несколько раз, потому что скрипт clp-notify будет продолжать работать, даже если вы входите в систему (! d5)
Затем вам нужно добавить это start-clipboard-polling в свои приложения для запуска.
Существует только одна проблема с этим. Хотя второй скрипт заботится о том, чтобы предотвратить clp-notify от запуска несколько раз, когда вы выходите из системы и из него (поскольку исходный экземпляр все еще работает с предыдущего сеанса), во второй раз, когда вы входите в систему по какой-либо причине, следующие условие не выполняется:
if [[ ! ("$current_value" == "$new_value") ]];
, и это означает, что уведомления не будут работать. Для этого нужно закончить исходный экземпляр из start-clipboard-polling и перезапустить clp-notify как новый экземпляр, и это все, и вы можете удалить раздел, который проверяет, работает ли clp-notify, но я не хочу
В противном случае он будет продолжать работать нормально, пока вы не выйдете из системы.
Кстати, вам нужно: [!d10 ]
sudo apt install xclip
Я создал более стандартное решение с использованием сценариев bash только без дополнительных библиотек:
Вот как я это сделал:
Создайте файл с именем: clp-notify и сделайте это исполняемый файл.
Сохраните файл: /home/$USER/add-ons/scripts/clp-notify
#!/bin/bash
echo "Script $0 started..."
notify-send -u normal -t 3000 -i info 'Script Started!' $0
clip_command="xclip -selection clipboard -o"
current_value=`$clip_command`
while true
do
new_value=`$clip_command`
if [[ ! ("$current_value" == "$new_value") ]];
then
echo 'Clipboard Modified...'
notify-send -u normal -t 3000 -i info 'Clipboard Modified!' 'Your clipboard has been modified.'
current_value=$new_value
else
echo "Polliing..."
fi
sleep 1.5
done
Затем я создал второй файл с именем start-clipboard-polling, который вызывает вышеупомянутый скрипт, и это второй файл который добавляется к запуску:
#!/bin/bash
script_path=/home/$USER/add-ons/scripts/clp-notify
function IsClipboardPollingRunning
{
if (ps -A | grep -q "clp-notify")
then
return 1;
else
return 0;
fi
}
if (IsClipboardPollingRunning == 0)
then
echo "Starting $script_path"
nohup $script_path &
else
echo "$script_path is already running"
notify-send -u normal -t 3000 -i info 'Clipboard Notify' "$script_path is already running."
fi
Цель этого второго файла состоит в том, чтобы предотвратить запуск исходного clp-notify несколько раз, потому что скрипт clp-notify будет продолжать работать, даже если вы входите в систему (! d5)
Затем вам нужно добавить это start-clipboard-polling в свои приложения для запуска.
Существует только одна проблема с этим. Хотя второй скрипт заботится о том, чтобы предотвратить clp-notify от запуска несколько раз, когда вы выходите из системы и из него (поскольку исходный экземпляр все еще работает с предыдущего сеанса), во второй раз, когда вы входите в систему по какой-либо причине, следующие условие не выполняется:
if [[ ! ("$current_value" == "$new_value") ]];
, и это означает, что уведомления не будут работать. Для этого нужно закончить исходный экземпляр из start-clipboard-polling и перезапустить clp-notify как новый экземпляр, и это все, и вы можете удалить раздел, который проверяет, работает ли clp-notify, но я не хочу
В противном случае он будет продолжать работать нормально, пока вы не выйдете из системы.
Кстати, вам нужно:
sudo apt install xclip