بناء حالة لهذا الدور:
هذا الدور يخصص سطح المكتب جنوم. يقوم بتثبيت الخطوط والملحقات gnome من الحزم أو ملفات zip ، ونسخ ملفات مثل خلفيات سطح المكتب والتعديلات القذيفة جنوم إلى مضيف ، وتعديل إعدادات المستخدم. يمكن توفير الإعدادات بتنسيق DCONF أو GSETTINGS.
مجموعة community.general ، كما هو محدد في requirements.yml . تثبيت المتطلبات باستخدام
ansible-galaxy install -r requirements.yml علاوة على ذلك ، تتطلب وحدة community.general.dconf وحدة Python psutil . سيتم تثبيت هذه الوحدة تلقائيًا.
جميع المتغيرات الخاصة لهذا الدور تبدأ مع gnome_ . المتغيرات المتاحة مدرجة أدناه:
GNOME_USER : المستخدم الذي سيتم تعديل إعداداته. مثال:
gnome_user: root
إذا لم يتم تحديد gnome_user ، فسيستخدم متغير ansible_user_id (يقوم المستخدم بموجبه يتصل Ansible بالعقدة).
GNOME_PACKAGES : قائمة الحزم التي سيتم تثبيتها. مثال:
gnome_packages:
- fonts-roboto
GNOME_FONTS : قائمة الخطوط التي سيتم تنزيلها من مصدر بعيد ، غير مضغوط وتثبيتها في دليل الخطوط المحلية. يتكون كل عنصر من العناصر من url name و (GLOB) للخطوط في ملف zip هذا للتثبيت ( fonts ). مثال:
gnome_fonts:
- url: https://github.com/adobe-fonts/source-code-pro/archive/2.030R-ro/1.050R-it.zip
name: SourceCodePro
fonts: "source-code-pro-2.030R-ro-1.050R-it/OTF/*.otf"
GNOME_FILES : قائمة بالملفات ، وتحديد المصدر ( src ) والوجهة ( dest ) التي سيتم نسخها من المضيف إلى الضيف. مثال:
gnome_files:
- src: gtk.css
dest: /home/{{ gnome_user }}/.config/gtk-3.0/gtk.css
GNOME_EXTENTENS : قائمة بملحقات GNOME Shell التي سيتم تثبيتها (تم تنزيلها من مصدر بعيد ومضغوط إلى امتدادات المستخدمين المحلية).
يتم تحميل عنوان url و/أو name كل عنصر ديناميكيًا من الويب عند وجود id .
gnome_extensions:
- id: 545
إذا كان enable الخاصية موجودًا وتعيين قيمة الحقيقة (على سبيل المثال yes ) ، فسيتم تمكين التمديد تلقائيًا بعد التثبيت. مثال:
gnome_extensions:
- id: 1112
enable: yes
بدلاً من تحديد المعرف ، يمكنك أيضًا تطبيق مفاتيح url name . مثال:
gnome_extensions:
- url:
"https://extensions.gnome.org/download-extension/[email protected]?version_tag=6450"
name: "[email protected]"
لاحظ أنه لن يتم تجاوز name محدد مسبقًا و/أو قيمة url عن طريق تحديد id .
gnome_gsettings : قائمة إدخالات gsettings التي سيتم تعيينها لـ gnome_user ، باستخدام gsettings . يتكون كل عنصر قائمة من schema key وإدخال value . لاحظ أنه يجب احتواء القيم في عروض أسعار واحدة واقتباسات مزدوجة ، بسبب إعدادات الاقتباس من Ansible لأوامر Shell. مثال:
gnome_gsettings:
- schema: org.gnome.desktop.interface
key: monospace-font-name
value: '"Source Code Pro Medium 16"'
GNOME_DCONF : قائمة إدخالات DCONF التي سيتم تعيينها لـ gnome_user ، باستخدام dconf . يتكون كل عنصر من القائمة من إدخال key وإدخال value . مثال:
gnome_dconf:
- key: /org/gnome/desktop/background/show-desktop-icons
value: "false"
GTK_VERSION : سلسلة إصدار GTK. يتم استخدام هذا لإنشاء دليل تكوين GTK ، إذا لم يكن موجودًا بالفعل. مثال:
gtk_version: "gtk-3.0"
لا أحد.
- hosts: all
become: yes
become_method: sudo
roles:
- role: petermosmans.customize-gnome
vars:
gnome_dconf:
- key: /org/gnome/desktop/background/show-desktop-icons
value: "false"
gnome_extensions:
- url: https://extensions.gnome.org/download-extension/[email protected]?version_tag=6450
name: [email protected]
- id: 15
- id: 1160
url: https://example.com/gnome-extension/1160.zip
- id: 1236
name: CustomNamedExtension
- id: 1267
name: CustomNamedExtension2
url: https://example.com/gnome-extension/1267.zip
- id: 1112
enable: yes
gnome_files:
- src: gtk.css
dest: "/home/{{ gnome_user }}/.config/{{ gtk_version }}/gtk.css"
gnome_fonts:
- url: https://github.com/adobe-fonts/source-code-pro/archive/2.030R-ro/1.050R-it.zip
name: SourceCodePro
fonts: "source-code-pro-2.030R-ro-1.050R-it/OTF/*.otf"
gnome_gsettings:
- schema: org.gnome.desktop.interface
key: monospace-font-name
value: '"Source Code Pro Medium 16"'
- schema: org.gnome.shell.extensions.dash-to-panel
schemadir: ~/.local/share/gnome-shell/extensions/[email protected]/schemas
key: panel-position
value: TOP
gnome_packages:
- fonts-roboto
gnome_user: peter
gtk_version: 3.0
سيقوم هذا المثال بتثبيت Global Fonts Roboto و Source Code Pro و Gnome Shell Extension Hidetopbar ، ويعدل عدة إعدادات root المستخدم.
GPLV3
تم إنشاؤها في البداية من قبل بيتر موسمانز. مساهمات كثيرة أخرى: انظر https://github.com/petermosmans/ansible-role-customize-gnome/graphs/contributors