Как удар знает, как он вызывается?

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

Править /etc/xdg/xfce4/xinitrc , найдите, что строка запускается xfce4-panel ,

enter image description here

Прокомментируйте это путем размещения '#' перед ним, сюда, изменяет строку 169 на #$panel , это будет, решил Вашу проблему.

Когда Вы захотите повторно включить панель, просто удалите # в той строке.

7
03.06.2013, 07:46
3 ответа

Обычно удар знает, что это - оболочка входа в систему, потому что, когда программа входа в систему вызывает его, это говорит удару, что его имя -bash. То имя находится в argv[0], нулевой параметр командной строки, который является традиционно путем пользователь, вызвал программу. Начальный дефис является конвенцией сказать оболочке, что это - оболочка входа в систему. Bash также ведет себя как оболочка входа в систему при передаче его опция --login или -l. Видеть Различие между Входом в систему Shell и Невходом в систему Shell? для получения дополнительной информации.

С Jailkit 2.16, jk_chrootsh читает полный путь в оболочку для вызова из различных источников и передает этот путь как argv[0], и передает его собственные параметры командной строки к той оболочке. В случае нормальной эксплуатации, где jk_chrootsh самостоятельно используется в /etc/passwd, нет никакого способа передать аргумент такой как -l. Так как полный путь не начинается -, нет никакого способа сделать jk_chrootsh вызовите оболочку входа в систему, за исключением использования крошечной промежуточной программы.

#include <unistd.h>
int main () {
    execl("/bin/bash", "-bash", NULL);
    return 127;
}

Я ожидал бы jk_chrootsh иметь простой способ вызвать оболочку входа в систему. Я предлагаю делать запрос новых функций.

8
27.01.2020, 20:15
  • 1
    Спасибо @Giles - Вы провели большое исследование с Jailshell - даже взгляд хотя источник. Я ценю это. –  cwd 04.06.2013, 03:33
  • 2
    @Giles - может Вы указывать на меня на документацию относительно execvl потому что jaikit использует execv и мне нелегко находить execvl - Вы имели в виду execl ? –  cwd 04.06.2013, 07:11
  • 3
    @cwd Да, я имел в виду execl, извините. –  Gilles 'SO- stop being evil' 04.06.2013, 11:31

login называет команду/оболочку входа в систему пользователя с argv[0] запуск с a -. Оболочки проверяют их argv[0] определить, называют ли их как оболочка входа в систему.

Как @slm говорит, он ясно указан в разделе "Invocation" bash руководство.

Кроме того, несколько оболочек как csh, tcsh, ksh, zsh, yash, bash и некоторые варианты оболочки Almquist поддерживают -l опция включить login режим, не имея необходимость смешиваться с первым аргументом. Это не используется login, но можно использовать его, если Вы хотите моделировать оболочку входа в систему от чего-то (как большинство оболочек), где трудно выполнить команду с произвольным argv[0]. Я видел используемый графическими менеджерами по входу в систему.

6
27.01.2020, 20:15
  • 1
    Забавный Вы получаете принятие и upvotes, и мы сказали в значительной степени то же самое 8-). Хороший ответ BTW. –  slm♦ 04.06.2013, 02:23

Смотрите на страницу справочника удара. Они обсуждают различия в том, как это может быть вызвано там. Раздел называют ВЫЗОВОМ. 2 основными путями это добирается, вызвал, как оболочка входа в систему (bash -l) и как интерактивная оболочка (bash -i).

Смотрите на эти другие названные Вопросы и ответы Unix и Linux: Различие между Входом в систему Shell и Невходом в систему Shell?. Это в значительной степени покрывает точно, о чем Вы спрашиваете.

2
27.01.2020, 20:15
  • 1
    я - downvoting Ваш ответ, потому что я думаю, что он вновь заявляет о большом количестве из того, что я сказал в вопросе. Я даже сослался на страницу справочника bash(1) в вопросе и даже включенный кавычка. Вы читали весь вопрос? Это не спрашивает, "как делают я вызываю удар", а скорее, "как действительно колотит, знают, как это вызывается" - например, когда пользователь входит в систему - как делает системный вызов для избиения, на самом деле происходят... –  cwd 03.06.2013, 15:59
  • 2
    Да я действительно читал Ваш вопрос. Вы спросили, как удар знает, как это назвали. Ваш OP, таким образом, это - полностью Ваш вызов. Раздел INVOCATION я думал объясненный, что ясно, что существует 2 режима, в которых можно назвать удар. Я не пытался сказать Вам, как вызвать на, говорят. Трудно объяснить, что существует 2 метода, которые удар может быть вызван как, не упоминая -l и -i переключатели. Однако я думаю, что Ваш вопрос более фундаментален, Вы спрашиваете, что является механизмом, который используется для вызова, избивают один сценарий по сравнению с другим. Я понимаю Вас правильно? –  slm♦ 03.06.2013, 16:24
  • 3
    Read через этот другой вопрос я просто отправил, и посмотрите, если это, Вопросы и ответы отвечают, что Вы спрашиваете: unix.stackexchange.com/questions/38175 / … –  slm♦ 03.06.2013, 16:28
  • 4
    BTW, спасибо за отъезд комментария, когда Вы downvoted! –  slm♦ 03.06.2013, 16:28
  • 5
    Несколько из тех ответов объясняют механизм того, как интерактивное по сравнению с оболочкой входа в систему порождено, Вы ищете что-то больше? –  slm♦ 03.06.2013, 16:30

Теги

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