Действия, доступные в файловых системах, перечислены на странице GParted Features . В настоящее время (последняя версия 0.23.0) функции Label и UUID недоступны для файловых систем HFS и HFS +. Это связано с ограничениями основных инструментов файловой системы.
Думаю, это связано с конфиденциальностью и безопасностью. Было бы неразумно оставлять открытым для всех то, что вы делали в завершившейся сессии. В моем Debian полная запись в .bash_logout
—:
if [ "$SHLVL" = 1 ]; then
[ -x /usr/bin/clear_console ] && /usr/bin/clear_console -q
fi
$SHLVL
равен 1, если это первая оболочка в цепочке. (Вы можете запустить новую оболочку из оболочки, и это увеличит SHLVL
. )Когда вы завершаете первый сеанс и, таким образом, передаете консоль и подсказку кому-либо, консоль должна сохранять содержимое вашего сеанса недоступным для неавторизованных глаз, что и происходит.
Как я сказал вhttps://unix.stackexchange.com/a/233855/5132и даже в обсуждении в списке рассылки, на которое косвенно ссылаются & #9786; …
Желание не очищать виртуальный терминал между -выключенным и последующим входом -в значительной степени плывет против течения, как обнаружили Грег Вуледж и другие. Наличие конфиденциальных выходных данных от привилегированных пользователей или боссов, остающихся после выхода -из системы, было проблемой безопасности для Unices (и других операционных систем удаленного -доступа с разделением времени )с 1970-х годов, и для этого требуется много усилий, чтобы отменить все то, что люди приложили для предотвращения этой проблемы. Как вы заметили, для этого они ввели несколько перекрывающихся механизмов.
clear_console
в сценариях выхода из оболочки. (Это само по себе проблематично, поскольку плохо работает с графическими программами, работающими на виртуальном терминале ядра #1, и не работает ни с какими другими типами терминалов, виртуальными или реальными.)Эту команду необходимо удалить.
mingetty
, терминал очищается. (Это происходит перед входом в систему -, что означает, что выходные данные терминала могут остаться нестертыми, если служба входа в систему TTY остановлена. По иронии судьбы, эту функциональность лучше было бы поместить в login
, который, благодаря необходимости PAM, все еще работает с выключенным журналом -.)Чтобы отключить это, необходимо установить параметр --noclear
. В операционных системах systemd это включает в себя запись одного или нескольких файлов переопределения файла модуля, изменение настройки ExecStart
или просто указание autovt@.service
на локальный файл модуля собственной разработки.
getty@.service
сервисный модуль шаблона устанавливает TTYVTDisallocate=yes
, который указывает systemd очистить виртуальный терминал ядра. (Это снова не работает ни с какими другими типами терминалов,даже не пользовательское -пространство виртуальных терминалов, что частично отражено в его названии.)Это также должно быть удалено, опять же с переопределением или другим шаблоном службы, на который указывает autovt@.service
.
Конечно, они не полностью совпадают. mingetty
бесполезен для реальных терминалов, подключенных через последовательные устройства; clear_console
, как ни странно, является частью пакета оболочки Bourne Again и не вызывается людьми, у которых есть Korn, Z, Almquist, Fish, Watanabe или другая оболочка в качестве интерактивной оболочки входа в учетную запись пользователя; а механизм systemd TTYVTDisallocate
неприменим к не -systemd операционным системам.
Как я уже говорил в ходе обсуждения в списке рассылки несколько лет назад, console_clear
вдвойне не нужен. С 2011 года Linux, встроенный -в эмулятор терминала, поддерживает управляющую последовательность ED 3
для очистки буфера обратной прокрутки, поэтому возиться с переключением виртуальных терминалов, имеющим эти пагубные побочные -эффекты, в первом случае не нужно. место. Я добавил команду console-clear
в набор инструментов nosh несколько лет назад, которая выдает эту управляющую последовательность (и, таким образом, может использоваться не только с Linux, встроенным -в эмулятор терминала, а также для работы через удаленное соединение ). Команда ncurses clear
в настоящее время также умеет генерировать соответствующие управляющие последовательности, если так указано в terminfo.
И, конечно же, console-terminal-emulator
стандартно очищает буфер дисплея при зависании терминала.
console-terminal-emulator
. Направляющая ноша . Программное обеспечение.console-clear
. Направляющая ноша . Программное обеспечение. Согласно dlocate
, clear_console
является частью (пакета Debian )bash. Он не является частью восходящихbash
источников. Журнал изменений пакета сообщает вам, когда и откуда он появился:
-- Matthias Klose Thu, 23 Mar 2006 01:16:22 +0100 bash (3.1-3) unstable; urgency=low ... Merge from Ubuntu: * clear_console: New helper program to clear the console, including the scrollback buffer. * /etc/skel/.bash_logout: Install it again and use clear_console. Ubuntu #29405. Closes: #331504.
Упомянутые отчеты об ошибках -указывают причину, по которой они были добавлены:
When logging out of a F1-F6 terminal, all of your existing output of activies are left on the screen even when the next login screen appears. The screen should be cleared before the new login appears, so private output won't be viewed by other users.
It would be nice if bash would provide a default.bash_logout in /etc/skel for users to use by default to clean up the screen when login through console this is common request, specially in multi-user environments where people don't want others to see what they were working on.
Кстати, это упоминалось вместе с ncurses здесь:
Первая проблема была устранена путем адаптации функцииxterm
патча #107 в 1999 году (для консоли Linux ), а вторая никуда не исчезла из-за несовместимости лицензий.