Làm thế nào tôi có thể hiển thị một tin nhắn trên màn hình đăng nhập?


10

Trong một số trường hợp, sẽ rất có giá trị khi tôi được trình bày với một thông báo văn bản ngắn trước khi đăng nhập, để tôi có tùy chọn quyết định không đăng nhập sau khi xem tin nhắn.

Có cách nào để hiển thị thông báo thông báo trên màn hình đăng nhập đồ họa không?


Bạn có muốn thông báo xuất hiện trước khi đăng nhập không? Hoặc ngay lập tức khi bạn đã nhập tên người dùng và mật khẩu của bạn?
Eliah Kagan

1
Những loại thông báo? Ý tôi là, trước khi bạn đăng nhập, chưa có ứng dụng nào như ứng dụng khách IM đang chạy. Tôi chỉ có thể nghĩ về trạng thái pin (PC di động) và cấu hình Trình quản lý mạng cấp hệ thống đang kết nối. Và trong bối cảnh này là gì? Người dùng thuần túy hay đang phát triển một ứng dụng?
gertvdijk

Tôi quan tâm đến một câu trả lời chung chung; Tôi không có yêu cầu cụ thể về thời gian tin nhắn hoặc công cụ được sử dụng để tạo tin nhắn.
ændrük

bạn có nghĩa là một cái gì đó như, màn hình đăng nhập sau đó tin nhắn của bạn. Không cần đăng nhập?
rdʒɑ

@snow "trước khi đăng nhập" <-
gertvdijk

Câu trả lời:


3

Tôi nhận ra đây là một phản hồi muộn (như, nhiều năm muộn) nhưng tôi nghĩ rằng tôi sẽ tiếp tục và đặt một cái gì đó ở đây cho bất cứ ai khác có cùng vấn đề. Tôi thấy vấn đề này tất cả các thời gian. Đây chỉ là một cách để làm nó dễ dàng để kịch bản và triển khai. Hãy nhớ rằng đây là một giải pháp không phù hợp tương tự như giải pháp này: Làm cách nào để tạo biểu ngữ bật lên trước khi đăng nhập bằng Lightdm?

  1. Tạo một tệp và đặt tên cho nó bất cứ thứ gì bạn muốn, chẳng hạn như: anythingYouWant
  2. Đặt nội dung sau vào tệp đó (tất nhiên thay thế văn bản biểu ngữ):

    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. Điều chỉnh chiều rộng và chiều cao cho bất cứ điều gì bạn cần.

    3a. Ý tưởng ở đây là khi thông báo đăng nhập hiển thị, người dùng không thể tiếp tục cho đến khi họ đồng ý với các điều khoản, do đó, nó lặp lại cho đến khi "có" được chọn.

LƯU Ý (vì tôi chưa biết điều này trước đây): zenity --list có thể trả về true yes false no (giá trị Boolean), zenity --question trả về thoát 0,1

  1. Làm cho tập tin của bạn thực thi:

    sudo chmod +x anythingYouWant
    
  2. Đặt nó ở đâu đó - Tôi chỉ nhét nó vào / usr / bin

    sudo mv anythingYouWant /usr/bin
    

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

  1. Nếu bạn đang sử dụng lightdm thì bạn sẽ cần phải sửa đổi tệp lightdm.conf của mình. Khi tôi đi làm điều này lần đầu tiên lightdm.conf không có T_T. Vì vậy, nếu không, không sao, hãy lấy cho bạn một bản sao bằng cách này:

    sudo cp /usr/share/doc/lightdm/lightdm.conf /etc/lightdm/
    
  2. Nếu điều đó không hoạt động thì có thể là tệp trong / usr / share / doc / lightdm / đã được nén, vì vậy:

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

    7a. Sau đó di chuyển tệp đến / etc / lightdm /

  3. Mở lightdm.conf (bây giờ sẽ ở trong / etc / lightdm /) và thêm phần bên dưới vào phần có nội dung [SeatDefaults], như thế này:

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

    8a. Trong đó / path / to / your / loginMessage là bất cứ nơi nào bạn đặt tệp thực thi mà bạn đã tạo trước đó. Tôi đặt của tôi vào / usr / bin để tôi trông giống như:

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

    8b. Lưu các tập tin

  4. Điều đó nên làm điều đó cho lightdm. Bạn cũng có thể chỉ cần tạo tập tin lightdm.conf của riêng bạn và đặt phần trên vào đó.

    9a. Khởi động lại.

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

  1. Tôi đã thử nghiệm "vòng lặp" bật lên này trên CenOS 7 và Ubuntu 14.04 với GDM. Điều đó là, lightdm.conf không thực sự giúp ích trong trường hợp GDM bây giờ phải không?

  2. Vâng, có một công việc xung quanh đó làm việc cho tôi (bây giờ).

  3. Mở tệp / etc / gdm / init / Mặc định

    sudo vim /etc/gdm/Init/Default
    
  4. Đi đến dưới cùng của tập tin.

  5. Ngay trên lối ra 0 đặt:

    exec /path/to/your/message
    

    14a. Trong đó / path / to / your / message là đường dẫn đến tin nhắn đăng nhập tiện lợi của bạn. Khi tất cả được thực hiện, nó sẽ trông giống như thế này:

    fi
    exec /usr/bin/loginmessage
    exit 0
    

    14b. "Fi" và "exit 0" đã có sẵn, bạn chỉ cần đặt phần "exec / path / to / your / message của nó.

    14c. Lưu và khởi động lại.

  6. Tất cả việc khởi động lại có lẽ không cần thiết. Tôi kiểm tra công cụ này trong vm để dễ dàng bật máy hơn.

  7. Nếu có những cách tốt hơn để làm điều này thì tôi là tất cả tai / mắt. Tôi biết rằng gconf hoạt động phình ra trong CentOS 6.x. Tôi biết rằng loại công việc dcs trong CentOS 7 nhưng tôi đã không nhận được những gì tôi muốn. Không có công cụ gconf nào hoạt động với tôi trong Ubuntu, ngay cả sau khi cài đặt GDM và cấu hình lại <- mặc dù chỉ có thể là tôi.


2

Có thể không thể hiển thị thông báo trên màn hình đăng nhập trực tiếp. Nhưng bạn có thể gửi tin nhắn trước khi đăng nhập. Thêm vào /etc/lightdm/lightdm.conf:

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

Hãy thận trọng vì tùy chọn sai trong tệp này có thể phá vỡ quy trình khởi động của bạn.
Chuột sẽ không có sẵn trong giai đoạn này, nhưng bạn sẽ có thể đóng tin nhắn với Enter. xmessagecó thể đọc văn bản tin nhắn từ tệp hoặc có thể có thời gian chờ tùy chỉnh. Kiểm tra trang của nó để có thêm tùy chọn.
Bạn có thể kiểm tra https://wiki.ubfox.com/LightDM để biết thêm thông tin về lightdm.confvà tùy chỉnh lời chào.


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.