Як я можу відобразити повідомлення на екрані входу?


10

За деяких обставин для мене було б цінним отримати ще коротке текстове повідомлення перед входом у систему, так що я маю можливість вирішити не входити в систему, побачивши повідомлення.

Чи є спосіб відобразити повідомлення-повідомлення на екрані графічного входу?


Ви хочете, щоб повідомлення з’являлося перед входом? Або відразу після введення свого імені користувача та пароля?
Елія Каган

1
Які сповіщення? Я маю на увазі, перш ніж увійти в систему, ще не запущено таких програм, як клієнт чату. Я можу лише думати про стан акумулятора (мобільний ПК) та підключення профілів мережевого менеджера на рівні системи. І в якому контексті це? Чистий користувач або розробляє додаток?
gertvdijk

Мене цікавить загальна відповідь; У мене немає конкретних вимог до часу та часу повідомлення або інструментів, що використовуються для створення повідомлення.
ændrük

Ви маєте на увазі щось на кшталт, екран входу, а потім ваше повідомлення. Не потрібно жодного входу?
rɑːdʒɑ

@snow "до входу в систему" <-
gertvdijk

Відповіді:


3

Я усвідомлюю, що це пізня відповідь (наприклад, запізнення на роки), але я подумав, що я продовжуватиму роботу і поставити щось тут для тих, хто має ті самі проблеми. Я постійно бачу це питання. Це лише один із способів зробити це простим сценарієм та розгортанням. Майте на увазі, що це неелегантне рішення, подібне до цього: Як створити спливаючий банер перед входом у Lightdm?

  1. Створіть файл і назвіть його все, що завгодно, наприклад: somethingYouWant
  2. Помістіть у цей файл наступне (замінюючи текст банера, звичайно):

    bannerText="This is my banner and you will love it.  Worship it!"
    
    zenity --question --title="Pirate Ninja Banner" \
    --text=$bannerText" --no-wrap --width=800 --height=200
    
    until [[ $? = '0' ]]: do
       zenity --question --title="Pirate Ninja Banner" \
       --text=$bannerText" --no-wrap --width=800 --height=200
    done
    
  3. Відрегулюйте ширину та висоту до всього, що вам потрібно.

    3а. Ідея полягає в тому, коли повідомлення про вхід в систему відображається, користувач не може продовжувати, поки він не погодиться з умовами, таким чином він фіксується, поки не буде вибрано "так".

ПРИМІТКА (тому що я цього раніше не знав): zenity --list може повернути справжнє так хибне ні (булеві значення), zenity - запитання повертає вихід 0,1

  1. Зробіть свій файл виконуваним:

    sudo chmod +x anythingYouWant
    
  2. Покладіть його десь - я просто застряг у / usr / bin

    sudo mv anythingYouWant /usr/bin
    

----------- LIGHTDM -----------------------

  1. Якщо ви використовуєте lightdm, вам потрібно буде змінити файл lightdm.conf. Коли я пішов це робити, то вперше lightdm.conf не було T_T. Тож, якщо це не так, це добре, ідіть, отримайте копію, зробивши це:

    sudo cp /usr/share/doc/lightdm/lightdm.conf /etc/lightdm/
    
  2. Якщо це не спрацювало, то, можливо, файл у / usr / share / doc / lightdm / зафіксовано так:

    sudo gzip -d /usr/share/doc/lightdm/lightdm.conf.gz
    

    7а. Потім перемістіть файл у / etc / lightdm /

  3. Відкрийте lightdm.conf (який тепер повинен бути в / etc / lightdm /) і додайте наступне під розділом, де написано [SeatDefaults], як це:

    [SeatDefaults]
    greeter-setup-script=/path/to/your/loginMessage
    

    8а. Куди / шлях / до / вашого / входуПовідомлення - це те, куди ви поставите виконаний файл, який ви створили раніше. Я поміщаю шахту в / usr / bin, щоб моя виглядала так:

    [SeatDefaults]
    greeter-setup-script=/usr/bin/loginmessage
    

    8б. Збережіть файл

  4. Це повинно зробити це для lightdm. Ви також можете просто створити свій власний файл lightdm.conf і вкласти його до нього.

    9а. Перезавантажте.

----------- GDM -------------------

  1. Я протестував цю спливаючу "петлю" на CenOS 7 та Ubuntu 14.04 також із GDM. Справа в тому, що lightdm.conf насправді не допомагає у випадку GDM, чи не так?

  2. Ну, є робота навколо, яка працює для мене (поки що).

  3. Відкрийте файл / etc / gdm / Init / Default

    sudo vim /etc/gdm/Init/Default
    
  4. Перейдіть до нижньої частини файлу.

  5. Праворуч над виходом 0 поставити:

    exec /path/to/your/message
    

    14а. Де / шлях / до / вашого / повідомлення - шлях до вашого чудового повідомлення для входу. Коли все зроблено, це має виглядати приблизно так:

    fi
    exec /usr/bin/loginmessage
    exit 0
    

    14б. "Fi" і "exit 0" вже є, ви просто помістите в його частину "exec / path / to / your / message".

    14в. Збережіть і перезавантажте.

  6. Можливо, не потрібно все перезавантажувати. Я тестую цей матеріал у vm's, щоб його легше просто відскочити на машині.

  7. Якщо є кращі способи зробити це, я все вуха / очі. Я знаю, що gconf працює в CentOS 6.x. Я знаю, що dconf працює в CentOS 7, але я не отримував того, що хотів. Жоден матеріал gconf не працював для мене в Ubuntu, навіть після встановлення GDM та перенастроювання <- це міг бути лише мені.


2

Це повідомлення може бути неможливим безпосередньо на екрані входу. Але ви можете надіслати повідомлення перед входом у систему. Додайте до свого /etc/lightdm/lightdm.conf:

greeter-setup-script=xmessage -button ok -default ok -center "Hello world"

Будьте обережні, оскільки неправильний варіант у цьому файлі може порушити процедуру завантаження.
Миша буде недоступною на цьому етапі, але ви зможете закрити повідомлення Enter. xmessageможе читати текст повідомлення з файлу або може мати власний тайм-аут. Перегляньте його сторінку на наявність додаткових опцій.
Ви можете перевірити https://wiki.ubuntu.com/LightDM для отримання додаткової інформації про lightdm.confналаштування та привітання.


-1

Ви можете змінити банер для входу, щоб відображати попередження, яке хочете показати. Для отримання більш детальної інформації ви можете ознайомитись із наведеного нижче посилання: -

http://www.howtogeek.com/howto/ubuntu/change-ssh-welcome-banner-on-ubuntu/


1
Я думаю, що ОП означав графічний екран входу.
zwets
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.