Как я могу выйти из системы от графической среды из командной строки?

Я пойду с Gilles и укажу на Вас на Унисон, как предложено hasen j. Унисоном был Dropbox за 20 лет до Dropbox. Качайте основательный код, который много людей (самостоятельно включенный) использует каждый день - очень стоящий для изучения. Однако, join потребности вся реклама это может добраться :)


Это - только половина ответа, но я должен возвратиться к работе :)

В основном я хотел продемонстрировать малоизвестное join утилита, которая делает просто что: соединения две таблицы на некотором поле.

Во-первых, настройте тестовый сценарий включая имена файлов с пробелами:

for d in a b 'c c'; do mkdir -p "old/$d"; echo $RANDOM > "old/${d}/${d}.txt"; done
cp -r old new

(отредактируйте некоторые имена каталогов и/или имена файлов в new).

Теперь, мы хотим создать карту: хеш-> имя файла для каждого каталога и затем использует join подойти файлы с тем же хешем. Для генерации карты вставьте следующее makemap.sh:

find "$1" -type f -exec md5 -r "{}" \; \
  | sed "s/\([a-z0-9]*\) ${1}\/\(.*\)/\1 \"\2\"/" \

makemap.sh выкладывает файл со строками формы, 'хешируйте "имя файла"', таким образом, мы просто присоединяемся на первом столбце:

join <(./makemap.sh 'old') <(./makemap.sh 'new') >moves.txt

Это генерирует moves.txt который похож на это:

49787681dd7fcc685372784915855431 "a/a.txt" "bar/a.txt"
bfdaa3e91029d31610739d552ede0c26 "c c/c c.txt" "c c/c c.txt"

Следующий шаг должен был бы на самом деле сделать перемещения, но мои попытки застряли на заключении в кавычки... mv -i и mkdir -p должен прибыть удобный.

6
17.03.2011, 00:07
6 ответов

/usr/bin/gnome-session-save --kill работы для меня на Fedora 15 Alpha с гномом как мой DE. Надежда, которая помогает.

3
27.01.2020, 20:23

X-сервер перестанет работать, если Вы уничтожите основной процесс сессии, и все другие X-клиенты умрут, когда они потеряют соединение с X-сервером.

Под Gnome (по крайней мере, в соответствии с Ubuntu 10.04), процесс сессии gnome-session. Если Вы не используете настольную среду, процесс, который Вы хотите, является менеджером сеансов, или если Вы не работаете один, менеджер окон. Более точно процесс, который необходимо уничтожить, является первым клиентом, который соединился с X-сервером.

3
27.01.2020, 20:23
  • 1
    Спасибо за это объяснение!! Я нахожусь на базовой установке Debian, таким образом, СУЩЕСТВУЕТ нет gdm или kdm уничтожить. Ваше объяснение того, почему можно было бы хотеть уничтожить менеджера по оформлению во-первых, привело меня к ответу, в котором я нуждался. Спасибо, чувак!! :D –  kittykittybangbang 23.11.2015, 20:46

/etc/init.d/gdm restart

или

/etc/init.d/kdm restart

2
27.01.2020, 20:23

Пока у Вас есть набор "DontZap" к "прочь" в Вашем xorg.conf, можно использовать клавишу Backspace высокого звука управления для уничтожения рабочего X-сервера. Я использовал это в ситуациях, когда X сред так испорчены, я не могу выполнить команду. Если все значительно втиснуто, Вы могли бы извлечь выгоду из использования Волшебных ключей Sysrq 'k' для уничтожения всех процессов в текущем VT, и если это действительно втиснуто, можно перезагрузить систему немного более чисто, чем твердое выключение питания. К сожалению, при тестировании составления композита WMs я делал это чаще, чем я хотел бы.

2
27.01.2020, 20:23

В Убунту 12.04 с гномом по умолчанию это гном-сессия-выход .

3
27.01.2020, 20:23

Используйте killall -u $ USER для выхода.

1
27.01.2020, 20:23

Теги

Похожие вопросы