Cách tùy chỉnh màn hình đăng nhập Gnome trong Debian


11

Tôi đã sử dụng Debian lần đầu tiên trong tuần trước và tôi đã quản lý để định cấu hình một số tùy chọn máy tính để bàn bằng công cụ gnome-chỉnh-công cụ, nhưng tôi bị kẹt khi cố gắng tùy chỉnh màn hình đăng nhập.

Trong quá trình nghiên cứu tôi đã thực hiện, tôi đã tìm thấy rất nhiều thông tin về việc thực hiện những điều này trong Ubuntu, Linux Mint hoặc Arch Linux, nhưng không có nhiều thông tin về "cách Debian".

Tôi nghĩ rằng, Gnome sử dụng cấu hình của người dùng Debian-gdm cho màn hình đăng nhập, nhưng tôi không biết làm thế nào để thực sự thay đổi nó, tôi đã cố gắng thay đổi nó bằng công cụ gnome-chỉnh, như mọi người dùng khác và tôi cũng đã thử chỉnh sửa cấu hình tệp "/etc/gdm3/greeter.dconf-defaults", thêm đường dẫn đến tệp tôi muốn làm nền trong dòng "hình ảnh-uri". "hình ảnh tùy chọn_'none '" dường như cũng không làm gì cả.

Đó là cách dễ nhất để tùy chỉnh nó?

Tôi đang sử dụng gnome-shell phiên bản 3.14.4 và phiên bản debian 8.6


Tôi có thiếu một cái gì đó rõ ràng? Nếu bạn chỉ muốn thay đổi hình nền, cần có một cài đặt . (Mặc dù tôi không thể kiểm tra nó vì tôi đang sử dụng phiên bản Gnome mới hơn)
lw1.at

Câu trả lời:


5

(Đã thử nghiệm trên Ubuntu Gnome Shell 16.04+)

Hai lối. Nếu bạn muốn biết chính xác những gì bạn đang làm, hãy làm theo Giải pháp số 1 . Nếu bạn muốn một tập lệnh duy nhất làm tất cả cho bạn, hãy làm theo Giải pháp số 2 (Tất cả đều thực hiện tự động hóa Giải pháp số 1)

Giải pháp 1

Thông tin nền: Nền đăng nhập Gnome không phải là thông số mà bạn có thể thay đổi trực tiếp (lạ!). Nó hiện diện trong tệp CSS Gnome Shell có trong tệp nhị phân. Do đó, bạn phải trích xuất tệp nhị phân, sửa đổi tệp và thay thế tệp nhị phân mới bằng tệp cũ.

Bước 1: Trích xuất tệp nhị phân shell Gnome

Chạy đoạn script sau extractgst.shđể trích xuất chủ đề shell Gnome vào ~/shell-themethư mục

#!/bin/sh

workdir=${HOME}/shell-theme
if [ ! -d ${workdir}/theme ]; then
  mkdir -p ${workdir}/theme
fi
gst=/usr/share/gnome-shell/gnome-shell-theme.gresource

for r in `gresource list $gst`; do
        gresource extract $gst $r >$workdir/${r#\/org\/gnome\/shell/}
done

Bước 2: Sửa đổi nó

  • Sao chép hình nền của bạn vào thư mục này ~/shell-theme/theme.
  • Tạo tập tin ~/shell-theme/theme/gnome-shell-theme.gresource.xmlvới nội dung
  • Thay thế tên tệp bằng tên tệp hình ảnh nền của bạn
  • Bây giờ, mở gnome-shell.csstệp trong thư mục và thay đổi #lockDialogGroupđịnh nghĩa như sau:

    #lockDialogGroup { background: #2e3436 url(filename); background-size: [WIDTH]px [HEIGHT]px; background-repeat: no-repeat; }

Đặt tên tệp là tên của hình nền và kích thước nền cho độ phân giải của bạn.

Bước 3: Tạo nhị phân chủ đề vỏ Gnome mới và thay thế hiện có

Trong thư mục chủ đề, chạy

glib-compile-resources gnome-shell-theme.gresource.xml

Bạn sẽ nhận được một tập tin nhị phân. Sao chép nó vào

/usr/share/gnome-shell

Bây giờ khởi động lại GDM bằng

service gdm restart

Nếu nó không hoạt động hoặc bị kẹt, hãy khởi động lại máy tính của bạn để xem hình nền đăng nhập mới của bạn :))

Giải pháp 2

Ok, như đã hứa, có một cách đơn giản hơn để tự động hóa tất cả điều này. Chỉ cần lưu tập lệnh này dưới dạng login-background.sh

WORKDIR=~/tmp/gdm-login-background
GST=/usr/share/gnome-shell/gnome-shell-theme.gresource
GSTRES=$(basename $GST)

mkdir -p $WORKDIR
cd $WORKDIR
mkdir theme

for r in `gresource list $GST`; do
  gresource extract $GST $r >$WORKDIR$(echo $r | sed -e 's/^\/org\/gnome\/shell\//\//g')
done

cd theme
cp "$IMAGE" ./

echo "
#lockDialogGroup {
  background: #2e3436 url(resource:///org/gnome/shell/theme/$(basename $IMAGE));
  background-size: cover;
  background-repeat: no-repeat;
}" >>gnome-shell.css

echo '<?xml version="1.0" encoding="UTF-8"?>
<gresources>
  <gresource prefix="/org/gnome/shell/theme">' >"${GSTRES}.xml"
for r in `ls *.*`; do
  echo "    <file>$r</file>" >>"${GSTRES}.xml"
done
echo '  </gresource>
</gresources>' >>"${GSTRES}.xml"

glib-compile-resources "${GSTRES}.xml"

sudo mv "/usr/share/gnome-shell/$GSTRES" "/usr/share/gnome-shell/${GSTRES}.backup"
sudo mv "$GSTRES" /usr/share/gnome-shell/

rm -r $WORKDIR

if [ "$CREATED_TMP" = "1" ]; then
  rm -r ~/tmp
fi

Chạy tập lệnh bằng cách sử dụng

IMAGE=~/Bat.jpg sh login-background.sh

Bây giờ khởi động lại gdm bằng cách sử dụng service gdm restarthoặc khởi động lại máy tính xách tay cho nền đăng nhập mới của bạn :))

Tài liệu tham khảo: https://wiki.archlinux.org/index.php/GDM

https://bbs.archlinux.org/viewtopic.php?id=197036


Tôi không nhận được gnome-shell-theme.gresource.xmltập tin trong khi tất cả phần còn lại ở đó ... Tại sao? Tôi có Gnome 3.22.
71GA

4

Sau một vài nghiên cứu và thử nghiệm sau đó, cuối cùng tôi đã thay đổi nền đăng nhập của mình, đó là những bước tôi đã làm theo:

1) Tôi đã đặt tệp tôi muốn làm nền trong thư mục / usr / share / Pictures (Tôi đã tự tạo thư mục đó)

2) Tôi đã nhập thiết bị đầu cuối và, với tư cách là người dùng root, tôi đã chỉnh sửa tệp /etc/gdm3/greeter.dconf-defaults để trông giống như sau:

[org/gnome/desktop/background]
picture-uri='file:///usr/share/Pictures/background.png'
picture-options='zoom'

[org/gnome/login-screen]
logo='/usr/share/icons/gnome/48x48/places/debian-swirl.png'
fallback-logo='/usr/share/icons/gnome/48x48/places/debian-swirl.png'
disable-user-list=true
disable-restart-buttons=true

(background.png là ảnh nền thực tế của tôi)

3) Để tạo lại cấu hình, tôi đã chạy "dpkg-recfigure gdm3" và "dpkg-recfigure gdebi-core"


1
Điều này đã làm hỏng phiên X của tôi khi khởi động, đã sửa nó bằng cách hoàn tác các thay đổi trong bảng điều khiển :)
Maarten

Cảnh báo! Giải pháp này sẽ làm sập hệ thống của bạn nếu nó được mô tả chính thức trên Debian Wiki: wiki.debian.org/GDM Ev Assessment : Có vẻ như Debian rất khó để cập nhật Wiki của họ. Nếu Debian muốn trở thành Hệ điều hành GNU / Linux tốt nhất (theo ý kiến ​​của tôi là vậy) thì chỉ cần thiết kế lại wiki để thân thiện với người dùng hơn (HTML5 / CSS 3.0 / cơ sở dữ liệu). Đối với người dùng mới, không bao giờ xảy ra việc giải pháp được mô tả chính thức làm hỏng hệ thống của họ. Điều này rất quan trọng vì nó sẽ loại bỏ chúng khỏi Linux ... Và chúng tôi không muốn điều đó ...
71GA

1

Có lẽ giải pháp đơn giản nhất bây giờ là sử dụng ứng dụng sau: https://github.com/juhaku/loginized . LƯU Ý: Tôi là tác giả của ứng dụng này.

Đó là Trình quản lý chủ đề đăng nhập Gnome GDM cho phép bạn thay đổi chủ đề đăng nhập và hình nền. Cũng có thể có nhiều tính năng sắp tới cho ứng dụng.


0

Một số thử nghiệm trên hệ thống khác (SL7.4) cho thấy có vấn đề.

"extractgst.sh" không tạo ra "gnome-shell-theme.gresource.xml", cần được chỉnh sửa trong bước 2 của giải pháp 1. Nếu bạn thêm thế hệ tệp ".xml" của giải pháp 2, bạn sẽ có Tập tin "xml" cần thiết để kiểm tra.

Tập lệnh Solution 2 sử dụng "$ CREATED_TMP", chưa bao giờ được xác định. Vui lòng xóa hoàn thành "nếu".

Hãy cẩn thận với việc sử dụng sudo với các kịch bản. Thay đổi thành root bằng "/ bin / su -" và chạy, thứ dường như cần thiết cho tập lệnh bằng tay trước.

Bây giờ đến các vấn đề đặc biệt với bản sao SL7 (bản sao Centos / RHEL7). SL7 sử dụng SELinux cùng với bộ phận kiểm toán để tạo bảo mật hệ thống. Nếu các tệp hệ thống như ở đây được thay đổi bởi một tập lệnh, thì Selinux không biết về chúng và cấm sử dụng các tệp đó, nó không có thông tin về, điều gì dẫn đến nền đen khi đăng nhập. Điều này có thể được sửa chữa bằng cách sử dụng lệnh "restorecon" đệ quy cho thư mục này. Sau khi đăng xuất, bạn sẽ nhận được nền màn hình đăng nhập mong muốn.

Đã thêm: restorecon nên được thực hiện cho "/ usr / share / gnome-shell", vì đây là thư mục tài nguyên. Có thể, sẽ rất hợp lý khi thực hiện restorecon cho các thư mục gnome cho người dùng, nếu vấn đề vẫn còn tồn tại. Nhưng đối với tôi mọi thứ đang hoạt động tốt.

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.