оболочка Linux глобальная память Linux в переменной мадам - от оболочки

Настольная среда KDE имеет собственную поддержку этого. Проверьте Kubuntu, который в основном является Ubuntu с помощью KDE.

Вот то, как Вы делаете это:

  1. Щелкните правой кнопкой по рабочему столу->, Добавляет Панель-> Панель По умолчанию
  2. Щелкните правой кнопкой по панели->, Добавляют Виджеты
  3. Выберите диспетчер задач
  4. Щелкните правой кнопкой по Диспетчеру задач-> Настройки Диспетчера задач
  5. Проверьте "Только выставочные задачи с текущего экрана"

1
05.04.2011, 23:05
4 ответа

Ну, файлы в /tmp обычно чистятся на перезагрузке, итак, почему бы не, некоторый сценарий получает файл там, что-то вроде, "если этот файл существует, получите его"? Затем можно сделать инициализацию в том файле по мере необходимости. Это могло быть помещено в некоторый файл инициализации удара, который получен входом в систему в оболочках как /etc/profile. (Это предполагает, что Вы хотите, чтобы это было получено интерактивными оболочками, а не оболочками входа в систему.)

Однако я действительно не соглашаюсь с контекстом. Если Вы могли бы предоставить больше подробную информацию о том, что Вы пытаетесь сделать, Вы получили бы лучшие ответы.

0
27.01.2020, 23:40

Можно использовать export отметить переменную, которая будет передана дочерним процессам в среде.

export linux_test_run=yes

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

1
27.01.2020, 23:40
  • 1
    Технически верный, но я не вижу, как это помогло бы, так как изменение, как предполагается, вступает в силу только после следующей перезагрузки. –  Gilles 'SO- stop being evil' 05.04.2011, 23:07

Извините, необходимо будет отредактировать файл запуска где-нибудь, и если Вы хотите его для всех пользователей, вероятно, bashrc в /etc.

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

  1. Назовите файл setvariable.bash из bashrc. В том файле Вы экспортируете свою переменную
  2. Вставьте файл Ваш /etc/init.d это запустится на перезагрузке и деактивируется setvariable.bash файл (заменяющий его пустым файлом или чем-то)

Это - взлом, но это могло бы работать.

1
27.01.2020, 23:40
  • 1
    bashrc конфигурационный файл удара, это не место для переменных среды. /etc/profile наиболее распространенное место для переменных среды; большинство систем имеет другие возможности такой как /etc/environment. –  Gilles 'SO- stop being evil' 05.04.2011, 23:06

Большинство методов входа в систему читает переменные среды из /etc/profile. (Могут быть другие возможности, но это является самым легким действовать на.) Поэтому, если бы я понимаю Вас правильно, требуется добавить присвоение переменной среды на /etc/profile на следующей перезагрузке, и удаляют его на перезагрузке после этого.

Во-первых, если у Вас уже нет этого (некоторый дистрибутивный набор это), создайте названный каталог /etc/profile.d и добавьте этот отрывок к /etc/profile:

for x in /etc/profile.d/*.sh; do
  . "$x"
done
unset x

Создайте файл, содержащий export linux_test_run=yes названный /etc/profile.d/test_run.sh.0.

Добавьте следующий отрывок к /etc/rc.local (или некоторый другой сценарий это выполняется во время начальной загрузки):

for x in /etc/profile.d/*.sh.[0-9]*; do
  n=${x##*.}              # extract the part after the last .
  case n in
    *[!0-9]*) continue;;  # n is not a number, so skip this file
    *[1-9]*) mv "$x" "${x%.*}.$(($n-1))";; # decrement the number in the file name
    *)     # the file is *.sh.0, so rename to .sh and schedule for deletion
      echo "${x%.*}" >>/etc/profile.d/cancel-on-reboot.list
      mv "$x" "${x%.*}";;
  esac
done
if [ -e /etc/profile.d/cancel-on-reboot.list ]; then
  # rename all files in this list so they won't be considered any longer
  while read -r x; do
    mv "$x" "$x.cancelled"
  done </etc/profile.d/cancel-on-reboot.list
  rm /etc/profile.d/cancel-on-reboot.list
fi

Если требуется повторно включить установку для одной перезагрузки, переименуйте ее к *.sh.0.

0
27.01.2020, 23:40

Теги

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