О самом главном нововведении: выводе уведомления по завершению длительных команд. А как GNOME Terminal различает shell комманды и в частности момент завершения? Ведь эмулятор терминала ничего не должен знать об оболочке; он должен только выводить изображение интерпретируя при этом последовательности ANSI. Именно оболочка, BASH, например, знает когда закончилось выполнение. Он парсит PS1 или что?
а через ssh (открыл терминал, зашел на сервер, запустил компиляцию\архивацию) сработает? А через ssh -> screen? А через ssh -> screen -> ssh?? Если нет, то «ну а смысл было делать?» :)
Я думаю что подобно iTerm под OSX, если вывод продолжается на момент когда окно неактивно, то соответствующая вкладка подсвечивается одним цветом, как только вывод останавливается, другим.
Лично мне не хватало этой фичи в linux-терминалах и цветных табов тоже.
Я не уверен как таким образом можно определить завершение. Нужно ведь наоборот: если вывод прекращается. Только прекращение вывода не гарантирует, что команда завершилась.
Ну да, это я и имел ввиду, обычно там таймаут на несколько секунд. Когда еще работал на маке, иногда ловил себя на том, что запускал компиляцию, и переходил в соседний таб, а через какое то время первый таб начинал подсвечиваться, мол я все. Переключаюсь на него, а там компиляция просто на несколько секунд приостанвилась без вывода, выполняя какую-то ресурсоемкую команду
ps: поставил gnome-terminal 3.16.2-1, что-то фича не работает :(
Не сказал бы, что именно это нововведение было главным, но согласен, что приятное =)
Делается это с помощью новой escape-последовательности и переменной окружения PROMPT_COMMAND (вы почти угадали насчёт PS1).
Первым подобное поведение реализовал rxvt-unicode, добавив новую escape-последовательность 777 и позволив дёргать её из плагинов на perl. Народ быстро приспособил это дело для уведомлений.
Далее проект Enlightenment добавил это в Terminology. К слову, отличый терминал с кучей новшеств. О нём писали на хабре, и вот ещё отзыв Greg Kroah-Hartman.
В GNOME всё началось с бага 711059. Реализация такая:
В libvte добавили поддержку escape-последовательности 777
Далее там же сформировали PROMPT_COMMAND для отправки сообщения при завершении команды. Вроде как должно работать и по ssh.
Наконец, в gnome-terminal реализовали поддержку нового API libvte (notification_received), отображения сообщения пользователю при неактивном окне, активации нужного окна/вкладки при щелчке по уведомлению. Изменения пока в виде патча, с основной веткой не смёржены.
Скрытый текст
[jightuse@localhost ~]$ echo $PROMPT_COMMAND
__vte_prompt_command
[jightuse@localhost ~]$ type __vte_prompt_command
__vte_prompt_command is a function
__vte_prompt_command ()
{
local command=$(HISTTIMEFORMAT= history 1 | sed 's/^ *[0-9]\+ *//');
command="${command//;/ }";
local pwd='~';
[ "$PWD" != "$HOME" ] && pwd=${PWD/#$HOME\//\~\/};
printf "\033]777;notify;Command completed;%s\007\033]0;%s@%s:%s\007%s" "${command}" "${USER}" "${HOSTNAME%%.*}" "${pwd}" "$(__vte_osc7)"
}
Спасибо за ответ. У меня нет linux'а чтобы проверить, но, похоже, SSH — единственная причина реализовать это как escape sequence, поэтому я убежден, что работает. Ведь можно было просто выполнять notify-send по PROMPT_COMMAND, но тогда бы команда выполнялась на компьютере, где запущен shell, а не terminal emulator. Конечно же, для этого надо на удаленном сервере настроить PROMPT_COMMAND. Так сказать, только по обоюдному согласию.
Другая мегафича 4.0 ядра — исправлена утечка памяти ядра при мониторинге потребления памяти ядра в Cgroup (вот такой вот каламбур). Спасибо Владимиру Давыдову!
Стоит ли обновляться с Fedora 20 или все же велик риск все непоправимо окирпичить? Никаких хитрых драйверов в текущей системе нет, грязные хаки не испытывал. Использую KDE спин в дуал-буте с Win 8.1.
Тоже поставил систему поиграться. Пока всё нравится.
Замечательная у GNOME синхронизация с Google и ownCloud. При старте входишь в аккаунты и далее всё настраивается само — почта, Документы…
Понравился проект devassistant — раньше его не видел. Позволяет разворачивать проекты для различных языков/платформ. К сожалению, пока что сыроват, и разработчиков мало. При первом же создании проекта вылетел stacktrace. У себя исправил, планирую отправить патч.
Ну и gcc-5 по умолчанию радует, много полезного и приятного в него добавили.
Документы — приложение GNOME, которое проходит по локальным директориям и директориям ваших онлайн-аккаунтов и собирает те, в которых есть документы (pdf, odp, epub, cbr, ...). Показывает превью файлов, по щелчку на котором документ подгружается и открывается. Конечно, с быстрым интернетом это выглядит приятнее.
Гугловский аккаунт подключен, LibreOffice установлен, но Gnome Documents наотрез отказывается искать файлы в гуглдоках, локальные находит. Правда у меня не федора, а арч.
сидите дальше на lts, перешел с федоры только потому, что обновляться раз в полгода надоело… хотя впечатления остались от нее только положительные, несмотря на некоторые баги.
НЛО прилетело и опубликовало эту надпись здесьНЛО прилетело и опубликовало эту надпись здесь
На ноуте с гибридной графикой (Intel HD 4400 & AMD Radeon HD 8750m) и opensource-драйвером — wayland работает по умолчанию.
Из впечатлений — тачпадом управлять стало хуже, после коррекции настроек — можно жить. Иногда наблюдаю баги в GTK-приложениях. StarCraft II под wine стал медленнее. Тиринг при просмотре видео — иногда есть.
Очень добротная система. Стал использовать для работы (я веб-разработчик).
Почти нет никаких нареканий. Из коробки есть несколько мелких проблем: не работают ноутбучные клавиши громкости, не заработал тачпад, и после сна файловая система переводится в режим чтения. Всё это не критично и думаю при копании можно устранить. Я пока забил, так как жить не мешает. Зато из коробки у меня видео работает без лагов (обычно у меня с этим всегда были проблемы даже в убунте).
Fedora 22 — все тренды в одной сборке