hibernate отключен на ubuntu 13.04? [Дубликат]

Во многих системах linux echo $TERM return xterm см. выше stazher post.

Чтобы использовать фактический терминал, сделайте следующее:

1: Закройте все экземпляры терминала в настоящий момент

2: Откройте новый терминал с помощью обычного метода.

3: Введите команду следующим образом:

ps -o 'cmd=' -p $(ps -o 'ppid=' -p $$)

4: Возврат должен быть примерно таким:

lxterminal --geometry=135x20

Вот разбивка:

Итак: ps является «статусом процесса» [!d9 ]

ps option -o - Отображать информацию, связанную с пробелом или запятыми, указанными ключевыми словами. Звучит сложно, но на самом деле это не так. (пробел или запятая), разделенные (список ключевых слов).

Итак, (список ключевых слов) есть 'cmd=' В списке всего одно ключевое слово. Итак, просто попросите отобразить команду для открытия терминала.

ps option -p есть «по идентификатору процесса». Вау это очень хороший вариант для ps. Проблема в том, что вы должны передать ps этот идентификатор процесса. Итак, как получить идентификатор процесса? Мы разворачиваем выражение $(ps -o 'ppid=' -p $$)

Здесь мы должны начать думать немного глубже. Мне жаль, что я не изобрел этот баш-лайнер, но я этого не сделал. Кажется, я украл его с https://wiki.archlinux.org/ где-то, я больше не мог найти. Эти парни потрясающие, но много раз я не могу понять, что они говорят, пока после долгих исследований. То, что мы можем сделать, - это понять это сейчас, потому что я объясню.

, поэтому мы знаем, что $ - оператор расширения в bash. Мне нравится думать «un-wrap». Таким образом, $(foo -opt bar) развернет или расширит «foo -opt bar». Но в bash одиночная круглая скобка (...) открывает подоболочку.

Итак, $(foo -opt bar) расширяет «foo -opt bar», как запускается в дочерней оболочке.

Хорошо, теперь мы снова запускаем почти идентичную команду, ps -o 'ppid=' -p $$, но на этот раз ps, статус процесса, показывает нам, что он может видеть как запущен в дочери shell .

-o список ключевых слов, только одно ключевое слово, как и раньше, но ppid= это запрашивает непосредственно идентификатор процесса родительской оболочки !! От НЕГО ДОЧЕРНИЙ ШЕЛЛ! Очень умный, да? Я так взволнован, когда могу это понять!

-p снова «по id процесса», а в bash $$ - это идентификатор процесса.

Если вы вызываете или любую другую команду, запрашивающую $$ непосредственно из первой оболочки, он может сказать pid = 1 или pid из xWindow или из вашей настольной программы, или вы можете получить фактический pid оболочки. Если вы спросите много раз, вы можете получить разные ответы каждый раз!

Но, если вы вызовете дочь и спросите ее: «Кто твой папа», она скажет вам! Очень умно. Хотелось бы, чтобы я был таким гением, чтобы изобрести этот метод.

1
задан 4 December 2013 в 13:20

0 ответов

Другие вопросы по тегам:

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