Как изменить сеанс по умолчанию для всех пользователей? [Дубликат]

Perl

$ perl -pi -e 's/AccountSettings/Users/ if $. == 1' input.txt
-pi позволяет вносить изменения для входного файла на месте, т. е. изменять фактический файл. Если вы хотите увидеть результат перед перезаписью файла, используйте -p, вместо этого s/AccountSettings/Users/ выполните первую замену для шаблона. $. - обработанный номер строки

AWK

$ awk 'NR==1{sub("AccountSettings","Users")};1' input.txt                
<template name="Users">
AccountSettings
-pi позволяет вносить изменения для входного файла на месте, т. е. изменять фактический файл. Если вы хотите увидеть результат перед перезаписью файла, используйте -p, а NR==1{} - количество обработанных строк, в частности, мы смотрим, если количество строк равно 1. s/AccountSettings/Users/ выполнить первая замена шаблона. 1 - шаблон с опущенным действием. Действие по умолчанию для шаблона, которое является истинным, заключается в печати, а создание шаблона 1 гарантирует, что мы напечатаем результирующие строки.

Python

Один лайнер с чтением stdin:

$ python -c 'import sys;print("\n".join([ l.strip().replace("AccountSettings","Users") if i==0 else l.strip()  for i,l in enumerate(sys.stdin)]))' < input.txt

Версия скрипта:

#!/usr/bin/env python
from sys import argv;
with open(argv[1]) as f:
    for index,line in enumerate(f):
        text = line.strip().replace("AccountSettings","User") if index == 0 else line.strip()
        print(text)
[ f12] - количество обработанных строк, в частности, мы смотрим, если количество строк равно 1. Мы используем структуру variable = value_1 if condition else value_2 для создания списка строк с соответствующими значениями в одном слоте, а в скрипте присвоение версии переменной text и немедленная печать этой переменной. Условие для замены - это, конечно, номер строки

Ruby

$ ruby -pe '$_=$_.sub(/AccountSettings/,"Users") if $. == 1' input.txt                                                                             
<template name="Users">
AccountSettings
Мы используем структуру variable = value_1 if condition else value_2 для создания списка строк с соответствующими значениями в одно- liner, в то время как при назначении версии сценария к переменной text и немедленной печати этой переменной выполняется. Условием замены является, конечно, номер строки 1 - шаблон с опущенным действием. Действие по умолчанию для шаблона, которое является истинным, заключается в печати, а создание шаблона 1 гарантирует, что мы печатаем результирующие строки.
72
задан 18 May 2012 в 16:13

40 ответов

Я редактировал /etc/lightdm/lightdm.conf с этим контентом:

[SeatDefaults]
greeter-session=unity-greeter
user-session=gnome-shell
autologin-user=paul

И он автоматически запускается в gnome-shell.

23
ответ дан 10 August 2018 в 07:32

, чтобы изменить значение по умолчанию для каждого пользователя, проверьте

/var/lib/AccountsService/users

похоже, что этот набор .dmrc в домашнем доме пользователя.

приветствия

13
ответ дан 10 August 2018 в 07:32

Я считаю, что установка любого из вышеперечисленных значений отменяется последним сеансом пользователей, хранящимся в lightdm. Возможно, вам придется удалить или отредактировать пользовательские файлы в /var/cache/lightdm/dmrc, чтобы включить глобальную настройку по умолчанию. Или индивидуально, отредактировав файл user.dmrc, который имеет следующее содержимое:

[Desktop]
Session=ubuntu
1
ответ дан 10 August 2018 в 07:32

Это может не работать в Ubuntu, но это сработало для меня в Fedora. Мне потребовались дни, и я хотел бы поделиться им:

Перейдите к /usr/share/xsessions и /usr/share/wayland-sessions и добавьте префиксы с другим номером и тире для каждого файла, заканчивающегося на .desktop. Самое низкое число будет по умолчанию. Например, я хочу, чтобы xfce был моим по умолчанию, так что файл называется 1-xfce.desktop

Надеюсь, что это поможет.

0
ответ дан 10 August 2018 в 07:32

Чтобы изменить сеанс по умолчанию в Lightdm

sudo /usr/lib/lightdm/lightdm-set-defaults --session gnome-shell
12
ответ дан 15 August 2018 в 19:36
  • 1
    Спасибо, я действительно хотел оболочку gnome, но я нашел ее с sudo /usr/lib/lightdm/lightdm-set-defaults --session gnome-shell – wim 23 October 2011 в 18:09
  • 2
    нет проблем. Я не смог проверить его, но в документации, которую я нашел, было предложено имя для «gnome-shell». Пропустил ли gnome для сеанса сообщение об ошибке? Тогда я должен отредактировать свой ответ – Ciaran Liedeman 23 October 2011 в 19:16
  • 3
    нет, но он вошел в старого гнома 2. – wim 24 October 2011 в 04:24

Я редактировал /etc/lightdm/lightdm.conf с этим контентом:

[SeatDefaults]
greeter-session=unity-greeter
user-session=gnome-shell
autologin-user=paul

И он автоматически запускается в gnome-shell.

23
ответ дан 15 August 2018 в 19:36

, чтобы изменить значение по умолчанию для каждого пользователя, проверьте

/var/lib/AccountsService/users

похоже, что этот набор .dmrc в домашнем доме пользователя.

приветствия

13
ответ дан 15 August 2018 в 19:36

Я считаю, что установка любого из вышеперечисленных значений отменяется последним сеансом пользователей, хранящимся в lightdm. Возможно, вам придется удалить или отредактировать пользовательские файлы в /var/cache/lightdm/dmrc, чтобы включить глобальную настройку по умолчанию. Или индивидуально, отредактировав файл user.dmrc, который имеет следующее содержимое:

[Desktop]
Session=ubuntu
1
ответ дан 15 August 2018 в 19:36

Это может не работать в Ubuntu, но это сработало для меня в Fedora. Мне потребовались дни, и я хотел бы поделиться им:

Перейдите к /usr/share/xsessions и /usr/share/wayland-sessions и добавьте префиксы с другим номером и тире для каждого файла, заканчивающегося на .desktop. Самое низкое число будет по умолчанию. Например, я хочу, чтобы xfce был моим по умолчанию, так что файл называется 1-xfce.desktop

Надеюсь, что это поможет.

0
ответ дан 15 August 2018 в 19:36

Странно, что LightDM (диспетчер отображения Ubuntu 11.10 , который предоставляет графический экран входа в систему ) не помнит ваш выбор в reboots.

Вы можете вручную отредактировать соответствующий файл конфигурации, который называется .dmrc, и находится в вашей домашней папке. В Nautilus (файловый браузер) вам нужно нажать Ctrl + H (или Просмотреть > Показать скрытые файлы ), чтобы увидеть его и другие файлы, начинающиеся с .. Если у вас есть этот файл, который вы, вероятно, сделаете, то его содержимое будет выглядеть следующим образом:

[Desktop]
Session=ubuntu

Для GNOME Classic вы можете изменить его, чтобы сказать:

[Desktop]
Session=gnome-classic

Или для GNOME Classic (без эффектов) вы можете изменить его, чтобы сказать:

[Desktop]
Session=gnome-fallback

Если вам захотелось использовать Unity 2D (сеанс type Ubuntu 2D ), вы можете изменить его, чтобы сказать:

[Desktop]
Session=ubuntu-2d

Если у вас нет файла вообще, вы можете создать его с соответствующим содержимым.

Если вы хотите установить GNOME Classic или GNOME Classic (без эффектов) в качестве типа сеанса по умолчанию для всех пользователей - или вы предпочтете не для, но вышеупомянутый пользовательский метод не работает - тогда вы можете отредактировать /etc/lightdm/lightdm.conf, изменив строку, которая говорит user-session=ubuntu, вместо этого скажите user-session=gnome-classic или user-session=gnome-fallback (или user-session=ubuntu-2d). Несколько соображений, которые следует учитывать при рассмотрении этого вопроса:

  1. Предпочтительно редактировать конфигурационные файлы для каждого пользователя в домашних папках пользователей, если у вас нет причин предпочитать изменение глобальной конфигурации (например, это не работает).
  2. Поскольку это глобальный файл конфигурации и он содержит значительно больше, чем простой параметр конфигурации, который вы собираетесь редактировать, рекомендуется выполнить его резервное копирование перед его редактированием, в Если вы ошибетесь. Вы можете сделать это в терминале, выполнив команду sudo cp /etc/lightdm/lightdm.conf /etc/lightdm/lightdm.conf.old.
  3. Этот файл принадлежит root, поэтому команда sudo выше. Вы также должны отредактировать его как root. Чтобы открыть его в gedit как root, вы можете запустить gksu gedit /etc/lightdm/lightdm.conf (либо в окне терминала, либо в графическом Run Application текстовом поле, когда вы можете получить, нажав Alt + F2) или sudo -H gedit /etc/lightdm/lightdm.conf в окне терминала.

Кажется вероятным, что поведение, которое вы испытываете, является ошибкой, поэтому, собрав дополнительную информацию, посмотрев, работает ли вручную ~/.dmrc, вы можете сообщить об этом как один. Сначала прочтите это внимательно , затем после поиска, чтобы узнать, была ли обнаружена аналогичная ошибка, инициируйте процесс отчетности, вызвав ubuntu-bug с помощью PID работающего процесса lightdm или, почти так же хорошо , запустите ubuntu-bug lightdm ... что должно иметь смысл после того, как вы прочитали , что руководство .

Кстати, помимо Unity (тип сеанса Ubuntu ), Unity 2D (тип сеанса Ubuntu 2D ) и GNOME 3 Fallback ( GNOME Classic и GNOME Classic (без эффектов) ), вы можете также рассмотреть как еще более легкие варианты Xfce4 (установить пакет xubuntu-desktop и выбрать тип сеанса Xubuntu ) и LXDE (установить пакет lubuntu-desktop и выбрать тип сеанса Lubuntu ).

  • В более новых версиях Ubuntu, чем когда-либо, когда этот вопрос изначально был задан, Unity 2D и GNOME 3 Fallback недоступны. (В новейших версиях Unity недоступен.) Но Xfce4 / Xubuntu и LXDE / Lubuntu остаются доступными.
  • В наши дни пользователи, которые использовали GNOME 3 Fallback, скорее всего, предпочтут рабочую среду MATE , предоставляемую пакетом ubuntu-mate-desktop (см. Ubuntu MATE ).
  • Lubuntu остается более легким (т. е. он имеет тенденцию потреблять наименьшее количество ресурсов и работать на более старом оборудовании) , Но это не так полно, как Xubuntu или Ubuntu MATE.

Также есть GNOME 3 с оболочкой GNOME вместо Unity (установите пакет gnome-shell и выберите GNOME) и KDE 4 Плазма (установите пакет kubuntu-desktop и выберите Kubuntu), но вряд ли они будут менее ресурсоемкими, чем перечисленные выше опции.

23
ответ дан 18 August 2018 в 22:26

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

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