Linux завершить сеанс пользователя

Обновлено: 08.07.2024

Простейшая команда в Linux состоит из одного "слова" - названия программы, которую необходимо выполнить. Одну такую команду ( passwd ) Мефодий уже использовал для того, чтобы изменить свой пароль . Теперь Мефодий решил вернуться на одну из виртуальных консолей , на которой он зарегистрировался, и попробовать выполнить несколько простых команд:

Название этой команды происходит от английского выражения "Who am I?" ("Кто я?"). В ответ на эту команду система вывела только одно слово : "methody" и завершила свою работу, о чем свидетельствует вновь появившееся приглашение командной строки . Программа whoami возвращает название учетной записи того пользователя, от имени которого она была выполнена. Эта команда полезна в системах, в которых работает много разных пользователей, чтобы никто из них не мог по ошибке воспользоваться чужой учетной записью . Однако в приглашении командной строки зачастую указывается имя пользователя (как и в наших примерах), поэтому без команды whoami можно обойтись. Следующий пример демонстрирует программу, которая выдаст Мефодию уже больше полезной информации: who ("Кто"):

Еще одна программа , выдающая информацию о пользователях, работавших в системе в последнее время - last 8 В некоторых Linux-системах эта программа может называться lastlog . Выводимые этой программой строки напоминают вывод программы who , с той разницей, что здесь перечислены и те пользователи, которые уже завершили работу:

В этом примере Мефодий неожиданно обнаружил, кроме себя самого, неизвестных ему пользователей cacheman и cyrus - он точно знает, что не создавал учетных записей с такими именами. Это псевдопользователи (или системные пользователи) - специальные учетные записи , которые используются некоторыми программами. Поскольку эти "пользователи" регистрируются в системе без помощи монитора и клавиатуры, их "точка входа" в систему не определена (во второй колонке записано " ?? ?"). В выводе программы last появляется даже пользователь reboot (перезагрузка). В действительности такой учетной записи нет, программа last таким способом выводит информацию о том, когда была загружена система.

Выход из системы

В строках, выведенных программой last , указан не только момент регистрации пользователя в системе, но и момент завершения работы. Можно представить Linux как закрытое помещение: чтобы начать работу, нужно сначала войти в систему (зарегистрироваться, пройти процедуру идентификации ), а когда работа закончена, следует из системы выйти. В том случае, если в систему вошло несколько пользователей, каждый из них должен выйти, завершив работу, причем не имеет значения, разные это пользователи или "копии" одного и того же.

В ответ на эту команду вместо очередного приглашения командной строки возобновляется приглашение к регистрации в системе . На данной виртуальной консоли работа с Мефодием завершена, и теперь здесь снова может зарегистрироваться любой пользователь .

Есть и другой, еще более "немногословный" способ сообщить системе, что пользователь хочет завершить текущий сеанс работы . Нажав Alt+F2 , Мефодий попадет на вторую виртуальную консоль , где все еще открыт сеанс для пользователя " methody ", и нажмет сочетание клавиш Ctrl+D , чтобы прекратить и этот сеанс . Нажатие комбинации клавиш Ctrl+D приводит не к передаче компьютеру очередного символа, а к закрытию текущего входного потока данных. В сущности, командная оболочка вводит команды пользователя с консоли, как если бы она читала их построчно из файла. Нажатие Ctrl+D сигнализирует ей о том, что этот " файл " закончился, и теперь ей неоткуда больше считывать команды. Такой способ завершения аналогичен явному завершению командной оболочки командой logout .

Когда Вы используете систему Ubuntu, которая имеет многочисленных пользователей и один из запросов другого пользователя Вы для использования системы, у Вас есть два способа передать систему им. Нужно переключить пользователей, и другой должен выйти из Вашего сеанса пользователя для другого человека. Различие между этими двумя - то, что при переключении пользователей текущая сессия будет продолжать бежать в фоновом режиме, и Вы будете в состоянии вернуть свои приложения в том же состоянии, когда Вы войдете в систему назад. Однако, когда Вы выходите из системы, Ваши текущие концы сессии и все запущенные приложения остановятся. Таким образом, когда Вы входите в систему назад, необходимо будет вновь открыть все необходимые приложения. Можно выбрать между переключающимися пользователями или выходящий из системы, в зависимости от того, что подходит Вам в том моменте времени.

В этой статье мы опишем четыре способа использовать, который пользователь может выйти из его сессии Ubuntu:

  • Используя UI
  • Используя Горячую клавишу
  • Через панель поиска средства запуска приложения
  • Через командную строку Ubuntu, Терминал

Мы выполнили команды и процедуры, упомянутые в этой статье о системе Ubuntu 18.04 LTS.

Метод 1: выйдите из системы Используя UI

Один из простых способов выйти из Вашей сессии Ubuntu состоит в том, чтобы использовать меню, доступное через направленную вниз стрелку, расположенную в главном правом углу Вашего экрана Ubuntu. Это - меню, которое Вы будете видеть при нажатии на эту стрелку:


Нажмите свое имя пользователя, и Вы будете в состоянии видеть следующие два основных элемента подменю: Выйдите из системы и Настройки учетной записи. Нажмите на опцию Log Out, чтобы выйти из Вашей текущей сессии Ubuntu. Следующее диалоговое окно отобразится, если Вы сделаете так:


Это диалоговое окно позволяет Вам выйти из системы прямо тогда путем нажатия кнопки Log Out. Иначе система автоматически заканчивает Вашу сессию после 60 секунд, если Вы не нажимаете Кнопку отмены.

Метод 2: выйдите из системы Используя горячую клавишу

Ubuntu идет со многими сочетаниями клавиш по умолчанию, которые позволяют, Вы работать часто использовали операции Ubuntu при помощи сочетаний клавиш с Вашей клавиатуры. Выйдите из системы, быть очень частой операцией также присваивают такой ярлык. При ударе сочетания клавиш Ctrl+Alt+Delete Вам дарят то же диалоговое окно Выхода из системы, которое мы описали выше.

Вы видите все такие сочетания клавиш и даже создаете Ваше собственное из Вашей утилиты параметров настройки системы. Откройте утилиту Settings непосредственно в представлении Keyboard путем ввода слова “ярлыки” в панель поиска средства запуска приложения следующим образом:


Нажмите на результат поиска Клавиатуры, и Вы будете в состоянии видеть следующее представление:


Метод 3: выйдите из системы Используя поиск средства запуска приложения

Другой быстрый метод к выходу из системы Вашей сессии должен использовать очень полезную панель поиска средства запуска приложения. К этой панели можно получить доступ путем удара Супер ключевого / Windows, включают клавиатуру.

Введите ключевое слово “выход из системы” в эту панель поиска, и Вы будете видеть утилиту Log Out в результате поиска следующим образом:


Нажмите на Журнал результат поиска, и Вы будете представлены, то же Выходит из системы диалоговое окно, которое мы описали выше.

Метод 4: выйдите из системы Используя терминал

Для Терминально-опытного человека командная строка Ubuntu также позволяет выходить из Вашего сеанса пользователя Ubuntu.

Откройте командную строку Ubuntu, Терминал, или посредством поиска средства запуска приложения или посредством ярлыка Ctrl+Alt+T.

Тогда введите следующую команду для окончания сессии входа в систему текущего пользователя:


При выполнении этой команды диалоговое окно появляется, который позволяет Вам выйти из системы прямо тогда путем нажатия кнопки Log Out. Иначе система автоматически заканчивает Вашу сессию после 60 секунд, если Вы не нажимаете Кнопку отмены на этом диалоговом окне.

Если Вы хотите непосредственно выйти из системы, не имея необходимость видеть это диалоговое окно, можно использовать следующую команду:

Так, они были некоторыми способами, которыми можно использовать, чтобы безопасно выйти сеанса пользователя Ubuntu так, чтобы другой пользователь мог использовать систему после Вас.

Favorite

Добавить в избранное

Главное меню » Linux » Как выкинуть из системы пользователя по SSH в Linux

Как выкинуть из системы пользователя по SSH в Linux

Е сли вы вошли в удаленную систему Linux через SSH, вам просто нужно использовать команду exit для выхода из SSH.

Отлично. Но что, если вы хотите отключить какого-либо другого пользователя с помощью SSH-соединения?

В этой быстрой подсказке мы покажем вам, как вы можете выгнать любого пользователя из системы.

Выкинуть пользователя из сеанса SSH

Сначала проверьте список пользователей, вошедших в систему на вашем сервере Linux. Это можно сделать разными способами. Мы будем использовать команду who с опцией -u. Этот параметр отображает идентификатор процесса сеанса оболочки входа пользователей.

Вот пример вывода:

Конечно, чтобы выполнить такое действие, вы должны быть пользователем root или sudo.

Есть несколько вещей, которые вам следует знать и делать.

Принудительно завершить сеанс SSH, если SIGNHUP не работает

Если сигнал SIGHUP не работает, отправьте сигнал SIGKILL.

Вы также можете выйти из выбранного сеанса пользователя, если у пользователя более одного сеанса SSH

Если один и тот же пользователь входит в систему из более чем одной системы или терминала, это влияет только на сеанс, который вы убиваете. Это не удалит пользователя из всех сеансов.

Это тот случай, когда ваш сеанс SSH зависает по какой-то причине, например, при отключении сети. Вы можете убить терминал и открыть еще один сеанс SSH с нового терминала, но теперь вы видите, что дважды вошли в систему.

В таком случае вы можете закрыть сеанс, который больше не должен быть активным.

Вы можете определить, какого пользователя начать, по времени входа в журнал, который виден в выходных данных whoкоманды. Не волнуйтесь, в худшем случае вы откажетесь от текущего сеанса. Но тогда вы можете войти снова.

Надеемся, этот быстрый совет помог вам выйти из сеанса SSH в Linux. Ваши вопросы и предложения приветствуются.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.


про кеды не знаю


Хорошо - пусть только гномовскую. Но завершить-то как? То что делает это gnome-session вроде да - ясно. А как его потдтолкнуть к этой мысли не заходя в графический сеанс пользователя?


Дома я неоригинален:


А в универе на файлопомойке, гордо именуемой сервером, подключившись по SSH, по wall посылаю предупреждение и через 5 минут убиваю процесс сессии тех кто мне мешает. Чё жалеть-то, админ тебя предупредил? Сохранись и сгинь с глаз долой.

А если попробовать

su -l имя_пользователя

>по wall посылаю предупреждение

А его видно пользователям X?


Не, в Иксах не видно. Для иксов xmessage, но для этого надо в иксах стать этим пользователем.


** (gnome-session-save:6701): WARNING **: Failed to call logout: The name org.gnome.SessionManager was not provided by any .service files

Но ГУЙ не нужен.

Тут вот какое дело - домочадцы не разлогиниваются после того как поюзают домашнюю машину. А когда у дочери открыт и стоит на паузе Totem, а у жены открыта Opera с десятком вкладок, пашет Beagle и Deluge, то в Nexuiz уже играть не очень комфортно.

Заходить и разлогинивать их руками лень. Какой бы скриптик написать, что бы запустил и остался в одиночестве, хотя бы на компьютере )))


Кстати, а как вы боретесь с кодировкой в xmessage - у меня русские буквы не отображаются. У Убунтологов есть notify-send конечно, но хотелось бы общих решений.


Мои юзеры english знают) Встречались скрипты на перле использующие libnotify. Можно рыть в эту сторону.


ну найти и убить все процессы с uid больше 1000 кроме (туту чписок исключений), что сложного?


>Кстати, а как вы боретесь с кодировкой в xmessage - у меня русские буквы не отображаются. У Убунтологов есть notify-send конечно, но хотелось бы общих решений.

2) использовать gmessage, gxmessage.


Зачем -15, зачем -9? Просто килл ит виз файр. мягко и безболезненно. Остальные если что потом видишь, сделаешь контрольный с -KILL

Когда пользователь из-за долгого простоя терминальной сессии в XRDP "подвисает", возникает необходимость снять его сессию.

Определяем id процесса сессии:

Снимаем необходимую сессию:

Если пользователь "висел" в конфигураторе 1С, то 1С может начать ругаться на занятость конфигуратора. В таких случаях желательно полностью завешить xrdp под этим пользователем и завершить процессы 1С. Для этого выполняем команды:

Специальные предложения

Electronic Software Distribution

Интеграция 1С с системой Меркурий

Алкогольная декларация

Готовые переносы данных

54-ФЗ

Управление проектом на Инфостарте

Траектория обучения 1С-разработчика

(0)
Хотелось бы услышать ИсториюУспеха перевода организации на XRDP (Linux).

(2) KroVladS, Удалось успешно перевести работу компании, 20 рабочих мест на работу с Linux. Причем, клиентские рабочие места - тоже на линуксе.
Ожидались большие проблемы с устройствами, штрих-кодами, гео-локацией и звуком. Но, все эти проблемы удалось решить.
Были моменты, когда Remmina тормозила, но как оказалось, это возникало из-за кучи клиентских RDP, которые начали друг с другом конфликтовать. Переустановка рабочего места - решила проблему.
Решение подняли на виртуальной машине. Поэтому, его можно клонировать и распространять.
Для своей компании тоже использую данное решение, но еще накладываю на это все - шифрование на уровне дискового пространства.

Если нужно, обращайтесь - могу реализовать данное решение.
Конечно, есть какие-то вещи, которые не возможно в статьях описать. Но, в целом, решение получилось работающее.

(3) а как дела обстоят для торговых предприятий?

Как подключали ФР и сканеры штрихкодов?? Удалось ли?*

(5) baracuda, Сканер штрих-кодов работает, как обычная клавиатура, передавая последовательность сканируемых символов через буфер обмена. Поэтому, проблем со сканером не происходит.

Читайте также: