- im-запуск в запуске Ubuntu
- 1 ответ
- im-launch в запуске Ubuntu
- 1 ответ
- Как управлять программами запуска в Ubuntu Linux
- Как запустить диспетчер запуска GNOME
- Как остановить автоматический запуск программ в Ubuntu
- Как добавить свои собственные программы автозагрузки в Ubuntu
- Что это означает в моих настройках приложений для запуска? [дубликат]
- 1 ответ
- Breaking The Command Down:
- The exec
- im-launch in Ubuntu startup
- 2 Answers 2
- Breaking The Command Down:
- The exec
im-запуск в запуске Ubuntu
Я нашел эту запись запуска im-запуска после установки Ubuntu 19.10, которая выполняется sh -c ‘if ! [ -e «/usr/bin/ibus-daemon» ] && [ «x$XDG_SESSION_TYPE» = «xwayland» ] ; then exec env IM_CONFIG_CHECK_ENV=1 im-launch true; fi’
Мой Вопрос — то, что цель этой записи, и wht, собирающийся, произошел, если я отключил его?
1 ответ
-e проверяют, что файл /usr/bin/ibus-daemon существует или нет? существуйте верное средство не существует ложь средств.
! хочет подтвердить выше значения, ложь, если выше значения будет верно, то это ничего не выполнит.
[ «x$XDG_SESSION_TYPE» = «xwayland» ] это может иметь любой ниже значений на основе того, как Вы принимаете решение войти в систему в экране входа в систему. какая сессия Вы выберете x11 или Уэйленд.
«xx11» = «xwayland» «xwayland» = «xwayland»
вывод в качестве примера $XDG_SESSION_TYPE
, если 1-е выражение является ложью и x$XDG_SESSION_TYPE = xwayland затем должностное лицо команда env IM_CONFIG_CHECK_ENV=1 im-launch true
, если 1-е выражение верно или x$XDG_SESSION_TYPE не равен xwayland, затем ничего не делают.
можно читать больше о том, что эта команда делает then exec env IM_CONFIG_CHECK_ENV=1 im-launch true;
, см. man env & человек im-launch
По умолчанию в Ubuntu 19.10 /usr/bin/ibus-daemon существует. таким образом, команда не будет выполняться.
то, когда существует файл /usr/bin/ibus-daemon и моя сессия, x11
, когда нет никакого файла /usr/bin/ibus-daemon , и моя сессия wayland
, вот вещь, которая отличается сверху, что означает, что ENV применяется и затем цепная реакция follwed.
так, если Вы отключаете или включаете это из списка запуска, ничего не происходит, если никакое существование этого файла /usr/bin/ibus-daemon и Вашей сессии не wayland , условия соблюдают.
Источник
im-launch в запуске Ubuntu
Я нашел эту запись запуска im-launch после установки Ubuntu 19.10, которая выполняет sh -c ‘if ! [ -e «/usr/bin/ibus-daemon» ] && [ «x$XDG_SESSION_TYPE» = «xwayland» ] ; then exec env IM_CONFIG_CHECK_ENV=1 im-launch true; fi’
Мой вопрос: какова цель этой записи и что произойдет, если я ее отключил?
1 ответ
-e проверьте файл /usr/bin/ibus-daemon существует или нет? существовать означает истина не существует значит ложь.
! хочет подтвердить, что указанное выше значение равно false, если указанное выше значение равно true, оно ничего не выполнит.
[ «x$XDG_SESSION_TYPE» = «xwayland» ] это может иметь одно из следующих значений в зависимости от того, как вы решите войти на экране входа. какую сессию вы выберете x11 или wayland.
«xx11» = «xwayland» «xwayland» = «xwayland»
пример вывода $XDG_SESSION_TYPE
если 1-е выражение ложно и x$XDG_SESSION_TYPE = xwayland, тогда выполните команду env IM_CONFIG_CHECK_ENV=1 im-launch true
если первое выражение истинно или x$XDG_SESSION_TYPE не равно xwayland, тогда ничего не делайте.
видеть man test
Вы можете прочитать больше о том, что делает эта команда then exec env IM_CONFIG_CHECK_ENV=1 im-launch true;
видеть man env & мужчина im-launch
По умолчанию в Ubuntu 19.10 /usr/bin/ibus-daemon существует. поэтому команда не будет выполнена.
когда есть файл /usr/bin/ibus-daemon и моя сессия x11
вот кое-что о IM
когда нет файла /usr/bin/ibus-daemon и моя сессия wayland
здесь есть вещь, которая отличается от описанной выше, что означает применение env и последующую цепную реакцию.
Итак, если вы отключите или включите это из списка автозагрузки, ничего не произойдет, если этот файл не существует /usr/bin/ibus-daemon и ваша сессия wayland условия соблюдены.
Источник
Как управлять программами запуска в Ubuntu Linux
Многие приложения автоматически запускаются при входе на рабочий стол Linux. Вы также можете добавить свои любимые программы в процесс запуска. Вот как можно контролировать то, что Ubuntu запускает при входе в систему.
Мы выполнили этот процесс в Ubuntu 20.04 LTS с рабочим столом GNOME по умолчанию. Действия будут аналогичными для других дистрибутивов Linux с рабочим столом GNOME, но вам может потребоваться другой инструмент настройки в других средах рабочего стола.
Как запустить диспетчер запуска GNOME
Чтобы запустить диспетчер запуска, откройте список приложений, нажав кнопку «Показать приложения» на тире в нижнем левом углу экрана. Найдите и запустите инструмент «Автозагрузка приложений».
Вы также можете нажать Alt + F2, чтобы открыть диалоговое окно «Выполнить команду», и выполнить следующую команду:
Если инструмент Startup Tools по какой-то причине не отображается в меню вашего приложения, вы можете открыть окно терминала и использовать следующую команду для его запуска:
Как остановить автоматический запуск программ в Ubuntu
Откроется окно настроек запускаемых приложений. Вы увидите список программ, которые автоматически запускаются, когда вы входите в свой графический рабочий стол. У каждого приложения есть имя и, возможно, описание.
Чтобы программа не запускалась автоматически, просто снимите флажок слева от программы. Непроверенные программы не загружаются при запуске.
Вы также можете щелкнуть выбрать программу и щелкнуть «Удалить», чтобы удалить ее из списка, но снятие отметки с программы дает то же самое — и позволит вам более легко повторно включить программу запуска в будущем, если хотите.
Если вы не знаете, что такое программа, вы можете поискать ее имя в Интернете. Например, если вы ищете im-launch , вы обнаружите, что это команда, запускает любые нужные вам методы ввода.
Вы также можете выбрать программу и нажать «Изменить», чтобы увидеть полную команду, запускаемую при входе в систему.
Как добавить свои собственные программы автозагрузки в Ubuntu
Чтобы добавить программу запуска, вам нужно знать ее полный путь. Вы можете найти это с помощью which в окне Терминала.
Например, предположим, что вы хотите запустить Firefox. Сначала запустите окно терминала и выполните следующую команду:
Вам сообщат, что двоичный файл firefox находится в /usr/bin/firefox . Это путь, который необходимо ввести в поле «Команда» в окне «Добавить программу запуска».
Нажмите кнопку «Добавить» в окне «Настройки запускаемых приложений» и введите полный путь к программе, которую вы хотите запустить, в поле «Команда».
Вы также должны ввести название программы и, при желании, комментарий. Оба эти поля будут отображаться только в окне «Настройки запуска приложений».
Когда вы закончите, нажмите «Добавить». Здесь вы увидите свою пользовательскую программу запуска. Если у него есть флажок и он отображается в этом списке, рабочий стол GNOME будет запускать его каждый раз, когда вы входите в Ubuntu.
Кстати, многие приложения, которые запускаются при запуске, предлагают встроенную возможность изменить это. Например, вы можете запретить автоматический запуск Dropbox в Linux, используя его окно параметров, как и в Windows и Mac.
Однако инструмент Startup Application Preferences позволяет вам видеть все, что автоматически открывается на вашем рабочем столе, и управлять им из одного места.
Источник
Что это означает в моих настройках приложений для запуска? [дубликат]
Я нашел эту запись запуска im-launch после установки Ubuntu 19.10, которая выполняет sh -c ‘if! [-e «/ usr / bin / ibus-daemon»] && [«x $ XDG_SESSION_TYPE» = «xwayland»]; затем exec env IM_CONFIG_CHECK_ENV = 1 im-launch true; fi ‘
Я хочу знать цель этой записи и что произойдет, если я отключу ее?
1 ответ
Я проводил некоторые исследования о том, как настроить Ubuntu, чтобы сделать его более производительным, и попал сюда, что интересно.
Моя im-launch запись запуска:
Как подробно ответил @UnKNOWn, но комментарий @foobar был моей ситуацией, поэтому я глубоко погрузился.
Breaking The Command Down:
sh — это интерпретатор командного языка, который выполняет команды, считанные из строки командной строки, стандартного ввода или указанного файла.
команда exec в Linux используется для выполнения команды из самого bash.
if CONDITION true THEN execute COMMAND
im-launch команда используется для запуска демона сервера фреймворка метода ввода, такого как ibus-daemon, установки соответствующих переменных среды для клиентских программ, и выполнения SESSION-PROGRAM, такого как x-session-manager.
ibus-daemon — это программа-демон для ibus, а также программа запуска для пользователей, чтобы активировать демон ibus, движки и панель.
daemon — компьютерная программа, которая работает как фоновый процесс, а не находится под прямым контролем интерактивного пользователя.
ibus — интеллектуальная шина ввода.
шина — это просто набор проводов, соединяющих несколько модулей (процессор, память, устройства ввода-вывода).
The exec
Тогда мой вопрос: зачем делать exec env , если мы уже выполняем команду из sh .
Команда exec заменяет текущий процесс оболочки указанной командой. Обычно при выполнении команды порождается новый процесс (forked), команда exec не порождает новый процесс. Вместо этого текущий процесс накладывается на новую команду. Другими словами, команда exec выполняется вместо текущей оболочки без создания нового процесса.
Использование env — Если вы хотите изменить окружение программы перед выполнением основной программы, вы часто пишете сценарий и в конце его запускаете основную программу. Но нет необходимости, чтобы скрипт оставался в памяти в это время. Поэтому в таких случаях используется exec, чтобы основная программа могла заменить материнский скрипт.
Источник
im-launch in Ubuntu startup
I found this im-launch startup entry after installing Ubuntu 19.10 which executes sh -c ‘if ! [ -e «/usr/bin/ibus-daemon» ] && [ «x$XDG_SESSION_TYPE» = «xwayland» ] ; then exec env IM_CONFIG_CHECK_ENV=1 im-launch true; fi’
I want to know the purpose of this entry and what would happend if i disabled it ?
2 Answers 2
-e check the file /usr/bin/ibus-daemon exists or not? exist means true does not exist means false.
! wants to confirm above value is false if above value is true, it will not execute anything.
[ «x$XDG_SESSION_TYPE» = «xwayland» ] this can have either one of below values based on how you choose to login at the login screen. which session you will choose x11 or wayland.
«xx11» = «xwayland» «xwayland» = «xwayland»
example output of $XDG_SESSION_TYPE
if the first expression is false and x$XDG_SESSION_TYPE = xwayland then exec the command env IM_CONFIG_CHECK_ENV=1 im-launch true
if the first expression is true or x$XDG_SESSION_TYPE is not equal to xwayland then don’t do anything.
you can read more about what this command does then exec env IM_CONFIG_CHECK_ENV=1 im-launch true;
see man env & man im-launch
By default in Ubuntu 19.10 /usr/bin/ibus-daemon exists. so the command will not be executed.
when there is the file /usr/bin/ibus-daemon and my session is x11
here is something about IM
when there is no file /usr/bin/ibus-daemon and my session is wayland
here is the thing which is different from above, which means the env is applied and then a chain reaction followed.
so, if you disable or enable this from startup list nothing happens unless no existence of this file /usr/bin/ibus-daemon and your session is wayland conditions are met.
I was doing some research on how to configure Ubuntu to make it more performant and ended up here, which is interesting.
My im-launch startup entry:
As answer was detailed by @UnKNOWn but @foobar’s comment was my situation, so I took a deep dive.
Breaking The Command Down:
sh is a command language interpreter that executes commands read from a command line string, the standard input, or a specified file.
exec command in Linux is used to execute a command from the bash itself.
if CONDITION true THEN execute COMMAND
im-launch command is used to start a input method framework server daemon such a ibus-daemon, set up the appropriate environment variables for the client programs,and execute SESSION-PROGRAM such as x-session-manager.
ibus-daemon is a daemon program for ibus and it is also a start up program for users to activate ibus daemon, engines and panel.
daemon is a computer program that runs as a background process, rather than being under the direct control of an interactive user.
ibus is an intelligent input bus.
bus is simply a set of wires connecting multiple modules (processor, memory, IO devices).
The exec
Then my question was why do exec env when we are already execution the command from sh .
The exec command replaces the current shell process with the specified command. Normally, when you run a command a new process is spawned (forked), the exec command does not spawn a new process. Instead, the current process is overlaid with the new command. In other words the exec command is executed in place of the current shell without creating a new process.
Use of env — If you want to modify the environment for a program before executing the main program, you’d often write an script and at the end of it start the main program. But there is no need for the script to stay in memory at that time. So, exec is used in these cases so that, the main program can replace the mother script.
Источник