Поведение, которое вы описываете, похоже на ваш терминал, застряло в полноэкранном режиме «адресации курсора», используемом такими инструментами, как less и vi.
Режим может застрять, если эти программы не выходить чисто. Например, если вы kill -9 их или запускаете их через сеанс ssh, который отключается. Вы можете выйти из этого режима терминала, выполнив следующую команду:
tput rmcup
Или просто попробуйте просмотреть файл с помощью less и выйти как обычно. Затем вы должны иметь доступ к вашему прокрутке и содержимому экрана, когда был введен режим адресации курсора.
notify-send
не имеет возможности заменить существующие уведомления до того, как они истекли (или исчезли) ). Это известная ошибка . Тем не менее, комментатор в отчете об ошибке опубликовал патч для его исправления.
Я создал исправленную версию пакета libnotify-bin , которая допускает замены в моем PPA. В настоящее время он предназначен только для Ubuntu 12.04, но если он вам нужен для любого другого поддерживаемого в настоящее время выпуска, пожалуйста, оставьте комментарий, и я постараюсь сделать его доступным.
Для установки откройте терминал и:
sudo apt-add-repository ppa:izx/askubuntu sudo apt-get update sudo apt-get install libnotify-bin
Исправленный notify-send
включает в себя два новых переключателя, -p
(или - print-id ) и -r
(или - идентификатор замены ). --help
описывает их как:
-p, --print-id Print the notification ID. -r, --replace-id=REPLACE_ID The ID of the notification to replace.
-p
каждый notify-send
будет возвращать идентификатор N (число / целое число). notify-send
с -r N
немедленно заменит предыдущее уведомление . notify-send -p ...
с помощью: NID=$(notify-send -p "MESSAGE-1")
и затем замените его на: notify-send -r $NID "MESSAGE-2"
#!/bin/bash
NID=0
for i in {0..100..10} do NID=$(notify-send -p -r $NID $i) sleep 0.5 done
notify-send
не имеет возможности заменить существующие уведомления до того, как они истекли (или исчезли) ). Это известная ошибка . Тем не менее, комментатор в отчете об ошибке опубликовал патч для его исправления.
Я создал исправленную версию пакета libnotify-bin , которая допускает замены в моем PPA. В настоящее время он предназначен только для Ubuntu 12.04, но если он вам нужен для любого другого поддерживаемого в настоящее время выпуска, пожалуйста, оставьте комментарий, и я постараюсь сделать его доступным.
Для установки откройте терминал и:
sudo apt-add-repository ppa:izx/askubuntu sudo apt-get update sudo apt-get install libnotify-bin
Исправленный notify-send
включает в себя два новых переключателя, -p
(или - print-id ) и -r
(или - идентификатор замены ). --help
описывает их как:
-p, --print-id Print the notification ID. -r, --replace-id=REPLACE_ID The ID of the notification to replace.
-p
каждый notify-send
будет возвращать идентификатор N (число / целое число). notify-send
с -r N
немедленно заменит предыдущее уведомление . notify-send -p ...
с помощью: NID=$(notify-send -p "MESSAGE-1")
и затем замените его на: notify-send -r $NID "MESSAGE-2"
#!/bin/bash
NID=0
for i in {0..100..10} do NID=$(notify-send -p -r $NID $i) sleep 0.5 done
notify-send
не имеет возможности заменить существующие уведомления до того, как они истекли (или исчезли) ). Это известная ошибка . Тем не менее, комментатор в отчете об ошибке опубликовал патч для его исправления.
Я создал исправленную версию пакета libnotify-bin , которая допускает замены в моем PPA. В настоящее время он предназначен только для Ubuntu 12.04, но если он вам нужен для любого другого поддерживаемого в настоящее время выпуска, пожалуйста, оставьте комментарий, и я постараюсь сделать его доступным.
Для установки откройте терминал и:
sudo apt-add-repository ppa:izx/askubuntu sudo apt-get update sudo apt-get install libnotify-bin
Исправленный notify-send
включает в себя два новых переключателя, -p
(или - print-id ) и -r
(или - идентификатор замены ). --help
описывает их как:
-p, --print-id Print the notification ID. -r, --replace-id=REPLACE_ID The ID of the notification to replace.
-p
каждый notify-send
будет возвращать идентификатор N (число / целое число). notify-send
с -r N
немедленно заменит предыдущее уведомление . notify-send -p ...
с помощью: NID=$(notify-send -p "MESSAGE-1")
и затем замените его на: notify-send -r $NID "MESSAGE-2"
#!/bin/bash
NID=0
for i in {0..100..10} do NID=$(notify-send -p -r $NID $i) sleep 0.5 done
notify-send
не имеет возможности заменить существующие уведомления до того, как они истекли (или исчезли) ). Это известная ошибка . Тем не менее, комментатор в отчете об ошибке опубликовал патч для его исправления.
Я создал исправленную версию пакета libnotify-bin , которая допускает замены в моем PPA. В настоящее время он предназначен только для Ubuntu 12.04, но если он вам нужен для любого другого поддерживаемого в настоящее время выпуска, пожалуйста, оставьте комментарий, и я постараюсь сделать его доступным.
Для установки откройте терминал и:
sudo apt-add-repository ppa:izx/askubuntu sudo apt-get update sudo apt-get install libnotify-bin
Исправленный notify-send
включает в себя два новых переключателя, -p
(или - print-id ) и -r
(или - идентификатор замены ). --help
описывает их как:
-p, --print-id Print the notification ID. -r, --replace-id=REPLACE_ID The ID of the notification to replace.
-p
каждый notify-send
будет возвращать идентификатор N (число / целое число). notify-send
с -r N
немедленно заменит предыдущее уведомление . notify-send -p ...
с помощью: NID=$(notify-send -p "MESSAGE-1")
и затем замените его на: notify-send -r $NID "MESSAGE-2"
#!/bin/bash
NID=0
for i in {0..100..10} do NID=$(notify-send -p -r $NID $i) sleep 0.5 done
notify-send
не имеет возможности заменить существующие уведомления до того, как они истекли (или исчезли) ). Это известная ошибка . Тем не менее, комментатор в отчете об ошибке опубликовал патч для его исправления.
Я создал исправленную версию пакета libnotify-bin , которая допускает замены в моем PPA. В настоящее время он предназначен только для Ubuntu 12.04, но если он вам нужен для любого другого поддерживаемого в настоящее время выпуска, пожалуйста, оставьте комментарий, и я постараюсь сделать его доступным.
Для установки откройте терминал и:
sudo apt-add-repository ppa:izx/askubuntu sudo apt-get update sudo apt-get install libnotify-bin
Исправленный notify-send
включает в себя два новых переключателя, -p
(или - print-id ) и -r
(или - идентификатор замены ). --help
описывает их как:
-p, --print-id Print the notification ID. -r, --replace-id=REPLACE_ID The ID of the notification to replace.
-p
каждый notify-send
будет возвращать идентификатор N (число / целое число). notify-send
с -r N
немедленно заменит предыдущее уведомление . notify-send -p ...
с помощью: NID=$(notify-send -p "MESSAGE-1")
и затем замените его на: notify-send -r $NID "MESSAGE-2"
#!/bin/bash
NID=0
for i in {0..100..10} do NID=$(notify-send -p -r $NID $i) sleep 0.5 done
notify-send
не имеет возможности заменить существующие уведомления до того, как они истекли (или исчезли) ). Это известная ошибка . Тем не менее, комментатор в отчете об ошибке опубликовал патч для его исправления.
Я создал исправленную версию пакета libnotify-bin , которая допускает замены в моем PPA. В настоящее время он предназначен только для Ubuntu 12.04, но если он вам нужен для любого другого поддерживаемого в настоящее время выпуска, пожалуйста, оставьте комментарий, и я постараюсь сделать его доступным.
Для установки откройте терминал и:
sudo apt-add-repository ppa:izx/askubuntu sudo apt-get update sudo apt-get install libnotify-bin
Исправленный notify-send
включает в себя два новых переключателя, -p
(или - print-id ) и -r
(или - идентификатор замены ). --help
описывает их как:
-p, --print-id Print the notification ID. -r, --replace-id=REPLACE_ID The ID of the notification to replace.
-p
каждый notify-send
будет возвращать идентификатор N (число / целое число). notify-send
с -r N
немедленно заменит предыдущее уведомление . notify-send -p ...
с помощью: NID=$(notify-send -p "MESSAGE-1")
и затем замените его на: notify-send -r $NID "MESSAGE-2"
#!/bin/bash
NID=0
for i in {0..100..10} do NID=$(notify-send -p -r $NID $i) sleep 0.5 done
notify-send
не имеет возможности заменить существующие уведомления до того, как они истекли (или исчезли) ). Это известная ошибка . Тем не менее, комментатор в отчете об ошибке опубликовал патч для его исправления.
Я создал исправленную версию пакета libnotify-bin , которая допускает замены в моем PPA. В настоящее время он предназначен только для Ubuntu 12.04, но если он вам нужен для любого другого поддерживаемого в настоящее время выпуска, пожалуйста, оставьте комментарий, и я постараюсь сделать его доступным.
Для установки откройте терминал и:
sudo apt-add-repository ppa:izx/askubuntu sudo apt-get update sudo apt-get install libnotify-bin
Исправленный notify-send
включает в себя два новых переключателя, -p
(или - print-id ) и -r
(или - идентификатор замены ). --help
описывает их как:
-p, --print-id Print the notification ID. -r, --replace-id=REPLACE_ID The ID of the notification to replace.
-p
каждый notify-send
будет возвращать идентификатор N (число / целое число). notify-send
с -r N
немедленно заменит предыдущее уведомление . notify-send -p ...
с помощью: NID=$(notify-send -p "MESSAGE-1")
и затем замените его на: notify-send -r $NID "MESSAGE-2"
#!/bin/bash
NID=0
for i in {0..100..10} do NID=$(notify-send -p -r $NID $i) sleep 0.5 done
X-ref: Как заставить новое уведомление в notify-osd появиться, не дожидаясь, когда предыдущий будет удален?
без патчей вы можете просто сделать
#!/bin/bash
for i in {0..100..10}
do
killall notify-osd
notify-send "testing" $i
sleep 1
done
Закладка: Как заставить новое уведомление в notify-osd появиться, не дожидаясь выхода более раннего?
[!d7 ]Отправляет сообщение об ошибке-osd (2592): операция не разрешена. Что это значит?
Это может означать, что привилегии неадекватны:
sudo killall notify-osd
Вы можете использовать «синхронный» намек, чтобы создать уведомление о подтверждении, которое заменит предыдущие подтверждения. Например:
notify-send "Message" -h string:x-canonical-private-synchronous:anything
В этом документе указан «х-канонический-частный синхронный» намек. Чтобы указать подсказку, используйте -h type:name:value. Тип здесь string, имя - x-canonical-private-synchronous, и кажется, что это значение может быть любым, что вы хотите.
Итак, если ваше первое уведомление создано с этим намеком, а второе - второй немедленно заменит первый. (См. этот документ в документации, в столбце «Буферы подтверждения».)
X-ref: Как заставить новое уведомление в notify-osd появляться, не дожидаясь выхода предыдущего сообщения?
без патчей, которые вы можете просто сделать
#!/bin/bash
for i in {0..100..10}
do
killall notify-osd
notify-send "testing" $i
sleep 1
done
Закладка: Как использовать «уведомить-отправить», чтобы немедленно заменить существующее уведомление?
Отправляет ошибку notify-osd (2592): операция не разрешена. Что это значит?
Это может означать, что привилегии неадекватны и требуют:
sudo killall notify-osd
Вы можете использовать «синхронную» подсказку для создания «подтверждающего» уведомления, которое заменит предыдущие подтверждающие уведомления. Например:
notify-send "Message" -h string:x-canonical-private-synchronous:anything
Подсказка «x-canonical-private-synchronous» указана в этого документа . Чтобы указать подсказку, используйте -h type:name:value
. Тип здесь - string
, имя - x-canonical-private-synchronous
, и кажется, что значение может быть любым, что вы хотите.
Так что, если ваше первое уведомление создано с этой подсказкой и второе также, второе немедленно заменит первое. (См. Анимации и продолжительность в документации, в столбце «пузыри подтверждения».)
X-ref: Как заставить новое уведомление в notify-osd появляться, не дожидаясь выхода предыдущего сообщения?
без патчей, которые вы можете просто сделать
#!/bin/bash
for i in {0..100..10}
do
killall notify-osd
notify-send "testing" $i
sleep 1
done
Закладка: Как использовать «уведомить-отправить», чтобы немедленно заменить существующее уведомление?
Отправляет ошибку notify-osd (2592): операция не разрешена. Что это значит?
Это может означать, что привилегии неадекватны и требуют:
sudo killall notify-osd
Вы можете использовать «синхронную» подсказку для создания «подтверждающего» уведомления, которое заменит предыдущие подтверждающие уведомления. Например:
notify-send "Message" -h string:x-canonical-private-synchronous:anything
Подсказка «x-canonical-private-synchronous» указана в этого документа . Чтобы указать подсказку, используйте -h type:name:value
. Тип здесь - string
, имя - x-canonical-private-synchronous
, и кажется, что значение может быть любым, что вы хотите.
Так что, если ваше первое уведомление создано с этой подсказкой и второе также, второе немедленно заменит первое. (См. Анимации и продолжительность в документации, в столбце «пузыри подтверждения».)
X-ref: Как заставить новое уведомление в notify-osd появляться, не дожидаясь выхода предыдущего сообщения?
без патчей, которые вы можете просто сделать
#!/bin/bash
for i in {0..100..10}
do
killall notify-osd
notify-send "testing" $i
sleep 1
done
Закладка: Как использовать «уведомить-отправить», чтобы немедленно заменить существующее уведомление?
Отправляет ошибку notify-osd (2592): операция не разрешена. Что это значит?
Это может означать, что привилегии неадекватны и требуют:
sudo killall notify-osd
Вы можете использовать «синхронную» подсказку для создания «подтверждающего» уведомления, которое заменит предыдущие подтверждающие уведомления. Например:
notify-send "Message" -h string:x-canonical-private-synchronous:anything
Подсказка «x-canonical-private-synchronous» указана в этого документа . Чтобы указать подсказку, используйте -h type:name:value
. Тип здесь - string
, имя - x-canonical-private-synchronous
, и кажется, что значение может быть любым, что вы хотите.
Так что, если ваше первое уведомление создано с этой подсказкой и второе также, второе немедленно заменит первое. (См. Анимации и продолжительность в документации, в столбце «пузыри подтверждения».)
X-ref: Как заставить новое уведомление в notify-osd появляться, не дожидаясь выхода предыдущего сообщения?
без патчей, которые вы можете просто сделать
#!/bin/bash
for i in {0..100..10}
do
killall notify-osd
notify-send "testing" $i
sleep 1
done
Закладка: Как использовать «уведомить-отправить», чтобы немедленно заменить существующее уведомление?
Отправляет ошибку notify-osd (2592): операция не разрешена. Что это значит?
Это может означать, что привилегии неадекватны и требуют:
sudo killall notify-osd
Вы можете использовать «синхронную» подсказку для создания «подтверждающего» уведомления, которое заменит предыдущие подтверждающие уведомления. Например:
notify-send "Message" -h string:x-canonical-private-synchronous:anything
Подсказка «x-canonical-private-synchronous» указана в этого документа . Чтобы указать подсказку, используйте -h type:name:value
. Тип здесь - string
, имя - x-canonical-private-synchronous
, и кажется, что значение может быть любым, что вы хотите.
Так что, если ваше первое уведомление создано с этой подсказкой и второе также, второе немедленно заменит первое. (См. Анимации и продолжительность в документации, в столбце «пузыри подтверждения».)
X-ref: Как заставить новое уведомление в notify-osd появляться, не дожидаясь выхода предыдущего сообщения?
без патчей, которые вы можете просто сделать
#!/bin/bash
for i in {0..100..10}
do
killall notify-osd
notify-send "testing" $i
sleep 1
done
Закладка: Как использовать «уведомить-отправить», чтобы немедленно заменить существующее уведомление?
Отправляет ошибку notify-osd (2592): операция не разрешена. Что это значит?
Это может означать, что привилегии неадекватны и требуют:
sudo killall notify-osd
X-ref: Как заставить новое уведомление в notify-osd появляться, не дожидаясь выхода предыдущего сообщения?
без патчей, которые вы можете просто сделать
#!/bin/bash
for i in {0..100..10}
do
killall notify-osd
notify-send "testing" $i
sleep 1
done
Закладка: Как использовать «уведомить-отправить», чтобы немедленно заменить существующее уведомление?
Отправляет ошибку notify-osd (2592): операция не разрешена. Что это значит?
Это может означать, что привилегии неадекватны и требуют:
sudo killall notify-osd
Вы можете использовать «синхронную» подсказку для создания «подтверждающего» уведомления, которое заменит предыдущие подтверждающие уведомления. Например:
notify-send "Message" -h string:x-canonical-private-synchronous:anything
Подсказка «x-canonical-private-synchronous» указана в этого документа . Чтобы указать подсказку, используйте -h type:name:value
. Тип здесь - string
, имя - x-canonical-private-synchronous
, и кажется, что значение может быть любым, что вы хотите.
Так что, если ваше первое уведомление создано с этой подсказкой и второе также, второе немедленно заменит первое. (См. Анимации и продолжительность в документации, в столбце «пузыри подтверждения».)
X-ref: Как заставить новое уведомление в notify-osd появляться, не дожидаясь выхода предыдущего сообщения?
без патчей, которые вы можете просто сделать
#!/bin/bash
for i in {0..100..10}
do
killall notify-osd
notify-send "testing" $i
sleep 1
done
Закладка: Как использовать «уведомить-отправить», чтобы немедленно заменить существующее уведомление?
Отправляет ошибку notify-osd (2592): операция не разрешена. Что это значит?
Это может означать, что привилегии неадекватны и требуют:
sudo killall notify-osd
Вы можете использовать «синхронную» подсказку для создания «подтверждающего» уведомления, которое заменит предыдущие подтверждающие уведомления. Например:
notify-send "Message" -h string:x-canonical-private-synchronous:anything
Подсказка «x-canonical-private-synchronous» указана в этого документа . Чтобы указать подсказку, используйте -h type:name:value
. Тип здесь - string
, имя - x-canonical-private-synchronous
, и кажется, что значение может быть любым, что вы хотите.
Так что, если ваше первое уведомление создано с этой подсказкой и второе также, второе немедленно заменит первое. (См. Анимации и продолжительность в документации, в столбце «пузыри подтверждения».)
X-ref: Как заставить новое уведомление в notify-osd появляться, не дожидаясь выхода предыдущего сообщения?
без патчей, которые вы можете просто сделать
#!/bin/bash
for i in {0..100..10}
do
killall notify-osd
notify-send "testing" $i
sleep 1
done
Закладка: Как использовать «уведомить-отправить», чтобы немедленно заменить существующее уведомление?
Отправляет ошибку notify-osd (2592): операция не разрешена. Что это значит?
Это может означать, что привилегии неадекватны и требуют:
sudo killall notify-osd
notify-osd(2592): Operation not permitted
. Что это значит?
– VedVals
13 November 2012 в 00:22
Вы можете использовать «синхронную» подсказку для создания «подтверждающего» уведомления, которое заменит предыдущие подтверждающие уведомления. Например:
notify-send "Message" -h string:x-canonical-private-synchronous:anything
Подсказка «x-canonical-private-synchronous» указана в этого документа . Чтобы указать подсказку, используйте -h type:name:value
. Тип здесь - string
, имя - x-canonical-private-synchronous
, и кажется, что значение может быть любым, что вы хотите.
Так что, если ваше первое уведомление создано с этой подсказкой и второе также, второе немедленно заменит первое. (См. Анимации и продолжительность в документации, в столбце «пузыри подтверждения».)
string:x-canonical-private-synchronous:anything
было именно то, что мне нужно. Спасибо за этот ответ. Также для ссылки на документацию
– avk
30 June 2017 в 11:33