dotfilez
文件大小: unknow
源码售价: 5 个金币 积分规则     积分充值
资源说明:dotfiles to support the lifestylez of the owned and the lamest
#+PROPERTY: header-args       :noweb no
#+PROPERTY: header-args:sh    :results replace output :var DOTFILEZ=(directory-file-name (file-name-directory (buffer-file-name)))

* dotfilez
  #+CAPTION: the_setup
  #+NAME:   setup.png
  [[./data/setup.png]]

  The setup of my ride has been steadily growing for almost 13 years now. In the
  vast sea of rc files, =/etc= config clauses, sensitive and public
  cryptographic key material, documents, default package lists and custom
  patches that I apply to the systems I run. I had to come up with a way to manage
  it all in some sane fashion.

  Dotfilez is an attempt to keep a configuration framework for my personal use
  online. You are welcome to modify it if you think it could be useful to you
  too.

* Public Keys
** =authorized_keys=
   #+BEGIN_EXAMPLE
   ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCMbMY01S86OnaP7Q5H9kYHeBUdfTsZkGh1AwQC1VJIwXRHdldRigkFxCLR6QJkFVQt5ntruvXwBre1bDF04UveXLLtcq2P5iGZWgQtuVAsZ1DAENR5N+SMZY6DA/aPjg8tzv7lL09pwFkAxfVDWLEZXtcEuuCaaGbW9GH707MBnvMZn8rWD8MEEEflkrtpbTGxjrsubYqGOB9bL3PTEtrKBAhptaIHIhX7tcHBHoWVCNgt47U+zghg4VaJIj/c+TUY+1CUF/QWqfWl6En2JwLqKe8RhH4SqgWMt6WY5XDXurJHNjtlzSCbwf8jrXfSZq+63WLFxqdINyjqedkLSVhl cardno:000603647045
   ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJZiX9CJyfQ2QYkm9Sh+BRoQVeM5UACdbOhf8PYfrwSC zv-sigstkflt
   #+END_EXAMPLE

** GnuPG Key
   #+NAME: GPG Key
   #+BEGIN_SRC sh :results file :file zv.gpg.pub :exports results
     gpg --export --armor 9358C8BDAAD9A62BB08B9660F6F2D0445DC172F8
   #+END_SRC

   #+RESULTS: GPG Key
   [[file:zv.gpg.pub]]

* Workstation Setup
  The following shell & configuration file snippets are intended to be installed
  with [[https://orgmode.org/worg/org-contrib/babel/][Babel]].

  To run an entire sections installation scripts, point your cursor at the appropriate heading and execute =org-babel-execute-subtree= (you can also run each individual step with =org-babel-execute-maybe=). Configuration files are installed separately, using =org-babel-tangle= (=tramp= will prompt you to =sudo=)

** Packages
   :PROPERTIES:
   :header-args:sh: :results output replace :exports code
   :END:

*** Base
    #+BEGIN_SRC sh
      sudo dnf install -y tmux vim-enhanced zsh
    #+END_SRC

*** Development
    #+BEGIN_SRC sh
      sudo dnf install -y autoconf automake binutils bison clang cmake ctags flex gcc 'gcc-c++' gdb git graphviz libtool make nasm openssl patch pkgconf readline socat strace
    #+END_SRC

**** Python
     #+BEGIN_SRC sh
       sudo dnf install -y python3 python3-devel python3-ipython python3-epc python3-flake8 python3-importmagic python3-isort python3-mypy python3-yapf
     #+END_SRC

*** Desktop
    #+BEGIN_SRC sh
      sudo dnf install -y adobe-source-code-pro-fonts avahi-tools bpftool bpftrace curl \
           dotnet elfutils emacs global global-ctags gnupg2 java-latest-openjdk jq \
           kernel-devel ltrace mtr nmap perf postgresql qemu ripgrep systemtap \
           valgrind weechat wget wine wireshark xsel z3
    #+END_SRC

**** Yubikey
     #+BEGIN_SRC sh
       sudo dnf install -y gnupg2 gnupg2-smime pcsc-lite pcsc-tools ykclient ykpers yubikey-personalization-gui
     #+END_SRC

**** Remove "Install Package To Provide"
     Fedora contains a package to prompt the user if a missing command is typed into the shell, which this snippet disables.

     #+BEGIN_SRC sh
       sudo dnf remove -y PackageKit-command-not-found
     #+END_SRC

** RC Files
   #+NAME: link_if.sh
   #+BEGIN_SRC sh :exports code :results verbatim :prologue "exec 2>&1" :shebang "#!/bin/sh"
     link_if() {
         if command -V "$1" 1>/dev/null; then
             shift

             while (( $# )); do
                 local src="$(realpath -e "$1")"
                 local dst="${HOME}/.$(basename "$1")"
                 if test -e "$dst"; then
                     printf "%s already exists\n" "$dst"
                 else
                     ( set -x; ln -sT "$src" "$dst" )
                 fi
                 shift
             done
         fi
     }

     (
         if cd "${DOTFILEZ:-0}"; then
             link_if dig 'rc/digrc'
             link_if emacs 'emacs.d' 'rc/spacemacs' 'rc/gnus.el' 'rc/newsrc'
             link_if erl 'rc/erlang'
             link_if gdb 'rc/gdbinit'
             link_if git 'rc/gitignore' 'rc/gitconfig'
             link_if gpg 'rc/gnupg'
             link_if iex 'rc/iex'
             link_if node 'rc/npmrc' 'rc/babelrc'
             link_if psql 'rc/psqlrc'
             link_if rg 'rc/ripgreprc'
             link_if ruby 'rc/pryrc' 'rc/gemrc'
             link_if screen 'rc/screenrc'
             link_if tmux 'rc/tmux.conf'
             link_if top 'rc/toprc'
             link_if vim 'rc/vim' 'rc/vimrc'
             link_if weechat 'rc/weechat'
             link_if wget 'rc/wgetrc'
             link_if bash 'rc/bashrc'
             link_if zsh 'rc/zsh' 'rc/zshenv' 'rc/zshrc'
             link_if dircolors 'rc/dir_colors'
             link_if Xorg 'rc/Xsession' 'rc/Xresources'
             link_if -- 'rc/ssh'
             link_if -- 'rc/editrc'
             link_if -- 'rc/inputrc'
         else
             printf "Could not change working directory to '%s'\n" "${DOTFILEZ:-0}"
         fi
     )
   #+END_SRC

** Login Shell
   #+BEGIN_SRC sh :exports code
     set -eu
     sudo usermod  --shell "$(which zsh)" "$(whoami)"
   #+END_SRC

** =/etc/profile.d=
   #+NAME: dir_colors.sh
   #+BEGIN_SRC sh :results file silent :file "/sudo::/etc/profile.d/dir_colors.sh" :file-mode (identity #o755)
     if [[ -r ~/.dir_colors ]]; then
         dircolors -b ~/.dir_colors
     else
         printf "%s does not exist\n" ~/.dir_colors >&2
         exit 1
     fi
   #+END_SRC

** =org-protocol=
   [[https://orgmode.org/worg/org-contrib/org-protocol.html][=org-protocol=]] intercepts calls from emacsclient to trigger custom actions without external dependencies. Only one protocol has to be configured with your external applications or the operating system, to trigger an arbitrary number of custom actions.

   #+BEGIN_SRC conf :tangle "~/.local/share/applications/org-protocol.desktop"
     [Desktop Entry]
     Name=org-protocol
     Exec=emacsclient %u
     Type=Application
     Terminal=false
     Categories=System;
     MimeType=x-scheme-handler/org-protocol;
   #+END_SRC

   Afterwards, you must run =update-desktop-database=

   #+BEGIN_SRC sh
     update-desktop-database "$HOME/.local/share/applications/"
   #+END_SRC

** =libvirt=
   =libvirt= will complain about user-sessions hitting a root, I allow any user in =wheel= to do so anyway on my workstation.

   #+NAME: 80-libvirt.rules
   #+BEGIN_SRC javascript :tangle "/sudo::/etc/polkit-1/rules.d/80-libvirt.rules"
     polkit.addRule(function(action, subject) {
       if (action.id == "org.libvirt.unix.manage" && subject.local && subject.active && subject.isInGroup("wheel")) {
         return polkit.Result.YES;
       }
     });
   #+END_SRC

** =sudo=                                                              :WARN:
   I like =sudo= to use a single timestamp across all of my login session.

   #+NAME: /etc/sudoers.d/70_timestamp_timeout
   #+BEGIN_SRC conf :tangle "/sudo::/etc/sudoers.d/70_timestamp_timeout"
     # Number of minutes that can elapse before sudo will ask for a passwd again.
     # You can create or delete a timestamp with `sudo -v` & `sudo -k` respectively
     Defaults  timestamp_timeout  = 30

     # `global` sets a single time stamp record, regardless of the terminal or parent process ID.
     Defaults  timestamp_type  = global
   #+END_SRC

** Emacs
*** Build
**** Fedora 33
    This adds ~--without-gconf~ & ~--without-gsettings~, as =dconf= & =gconf=
    breaks font settings in ~$HOME/.emacs~. See [[https://debbugs.gnu.org/cgi/bugreport.cgi?bug=25228]]

    #+BEGIN_SRC sh
      mkdir "$HOME/extern";
      cd "$HOME/extern";
      git clone --depth=1 --branch='emacs-28' 'https://git.savannah.gnu.org/git/emacs.git';
      cd emacs;
      sudo dnf install -y \
          ImageMagick-devel \
          automake \
          gcc \
          gcc-c++ \
          giflib-devel \
          gnutls-devel \
          gpm-devel \
          gtk3-devel \
          harfbuzz-devel \
          jansson-devel \
          libXpm-devel \
          libgccjit-devel \
          libjpeg-turbo-devel \
          libotf-devel \
          librsvg2-devel \
          libtiff-devel \
          make \
          ncurses-devel \
          texinfo \
          webkit2gtk3-devel \
          xorg-x11-proto-devel;
    ./autogen.sh;
    ./configure \
        CFLAGS='-pipe -mtune=native -march=native' \
        --with-cairo \
        --with-imagemagick \
        --with-json \
        --with-librsvg \
        --with-modules \
        --with-native-compilation \
        --with-x-toolkit=gtk3 \
        --with-xwidgets \
        --without-gconf \
        --without-gsettings \
        --without-xaw3d;
    make -j
    #+END_SRC

** Python

*** =IPython= config
    Rewrites the default ~$HOME/.ipython/profile_default/ipython_config.py~ with my preferred defaults

    #+BEGIN_SRC awk :results file :file "~/.ipython/profile_default/ipython_config.py" :exports code
      #!/usr/bin/awk -f
      
      BEGIN {
          if (ARGC == 1) {
              ARGV[ARGC] = ENVIRON["HOME"] "/.ipython/profile_default/ipython_config.py"
              ARGC = ARGC + 1
          }
      }
      
      function set_value(new) {
          for (i=0;iu']"
    gsettings set org.gnome.desktop.wm.keybindings begin-move "@as []"
    gsettings set org.gnome.desktop.wm.keybindings move-to-side-w "@as []"
    gsettings set org.gnome.desktop.wm.keybindings move-to-corner-nw "@as []"
    gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-10 "@as []"
    gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-6 "['y']"
    gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-right "['Right']"
    gsettings set org.gnome.desktop.wm.keybindings always-on-top "@as []"
    gsettings set org.gnome.desktop.wm.keybindings toggle-maximized "['m']"
    gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-left "['Left']"
    gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-8 "['i']"
    gsettings set org.gnome.desktop.wm.keybindings cycle-panels "@as []"
    gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-11 "@as []"
    gsettings set org.gnome.desktop.wm.keybindings lower "@as []"
    gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-7 "['u']"
    gsettings set org.gnome.desktop.wm.keybindings toggle-above "@as []"
    gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-down "@as []"
    gsettings set org.gnome.desktop.wm.keybindings switch-panels "@as []"
    gsettings set org.gnome.desktop.wm.keybindings minimize "@as []"
    gsettings set org.gnome.desktop.wm.keybindings cycle-windows "['l']"
    gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-9 "@as []"
    gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-12 "@as []"
    gsettings set org.gnome.desktop.wm.keybindings toggle-on-all-workspaces "@as []"
    gsettings set org.gnome.desktop.wm.keybindings switch-input-source "@as []"
    gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-8 "['i']"
    gsettings set org.gnome.desktop.wm.keybindings move-to-side-n "@as []"
    gsettings set org.gnome.desktop.wm.keybindings maximize-horizontally "@as []"
    gsettings set org.gnome.desktop.wm.keybindings activate-window-menu "@as []"
    gsettings set org.gnome.desktop.wm.keybindings set-spew-mark "@as []"
    gsettings set org.gnome.desktop.wm.keybindings switch-windows-backward "@as []"
    gsettings set org.gnome.desktop.wm.keybindings maximize-vertically "@as []"
    gsettings set org.gnome.desktop.wm.keybindings move-to-corner-sw "@as []"
    gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-9 "@as []"
    gsettings set org.gnome.desktop.wm.keybindings maximize "['Up']"
    gsettings set org.gnome.desktop.wm.keybindings panel-main-menu "@as []"
    gsettings set org.gnome.desktop.wm.keybindings close "['c']"
    gsettings set org.gnome.desktop.wm.keybindings move-to-monitor-up "@as []"
    gsettings set org.gnome.desktop.wm.keybindings raise-or-lower "@as []"
    gsettings set org.gnome.desktop.wm.keybindings move-to-side-e "@as []"
    gsettings set org.gnome.desktop.wm.keybindings cycle-windows-backward "['h']"
    gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-1 "['q']"
    gsettings set org.gnome.desktop.wm.keybindings move-to-monitor-right "@as []"
    gsettings set org.gnome.desktop.wm.keybindings switch-windows "@as []"
    gsettings set org.gnome.desktop.wm.keybindings panel-run-dialog "['semicolon']"
    gsettings set org.gnome.desktop.wm.keybindings switch-panels-backward "@as []"
    gsettings set org.gnome.desktop.wm.keybindings unmaximize "@as []"
    gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-2 "['w']"
    gsettings set org.gnome.desktop.wm.keybindings switch-applications "@as []"
    gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-last "@as []"
    gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-1 "['q']"
    gsettings set org.gnome.desktop.wm.keybindings move-to-corner-ne "@as []"
    gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-3 "['e']"
    gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-up "@as []"
    gsettings set org.gnome.desktop.wm.keybindings move-to-side-s "@as []"
    gsettings set org.gnome.desktop.wm.keybindings show-desktop "@as []"
    gsettings set org.gnome.desktop.wm.keybindings move-to-center "@as []"
    gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-2 "['w']"
    gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-left "['Left']"
    gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-right "['Right']"
    gsettings set org.gnome.desktop.wm.keybindings raise "@as []"
    gsettings set org.gnome.desktop.wm.keybindings move-to-corner-se "@as []"
    gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-10 "@as []"
    gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-4 "['r']"
    gsettings set org.gnome.desktop.wm.keybindings toggle-shaded "@as []"
    gsettings set org.gnome.desktop.wm.keybindings cycle-group-backward "@as []"
    gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-3 "['e']"
    gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-down "@as []"
    gsettings set org.gnome.desktop.wm.keybindings cycle-panels-backward "@as []"
    gsettings set org.gnome.desktop.wm.keybindings move-to-monitor-left "@as []"
    gsettings set org.gnome.desktop.wm.keybindings switch-applications-backward "@as []"
    gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-11 "@as []"
    gsettings set org.gnome.desktop.wm.keybindings switch-input-source-backward "@as []"
    gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-5 "['t']"
    gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-4 "['r']"
    gsettings set org.gnome.desktop.wm.keybindings move-to-monitor-down "@as []"
    gsettings set org.gnome.desktop.wm.keybindings toggle-fullscreen "['f']"
    gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-6 "['y']"
    gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-12 "@as []"
    gsettings set org.gnome.desktop.wm.keybindings cycle-group "@as []"
    gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-up "@as []"
    gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-last "@as []"
    gsettings set org.gnome.desktop.wm.keybindings switch-group-backward "@as []"
    gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-5 "['t']"
    gsettings set org.gnome.mutter.keybindings tab-popup-cancel "@as []"
    gsettings set org.gnome.mutter.keybindings tab-popup-select "@as []"
    gsettings set org.gnome.mutter.keybindings toggle-tiled-right "['l']"
    gsettings set org.gnome.mutter.keybindings toggle-tiled-left "['h']"
    gsettings set org.gnome.mutter.keybindings rotate-monitor "['XF86RotateWindows']"
    gsettings set org.gnome.mutter.keybindings switch-monitor "['p', 'XF86Display']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys custom-keybindings "['/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys media "['']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys stop-static "['XF86AudioStop']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys eject-static "['XF86Eject']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys rotate-video-lock "['']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys screen-brightness-cycle "['']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys toggle-contrast "['']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys rotate-video-lock-static "['o', 'XF86RotationLockToggle']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys www "['']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys window-screenshot-clip "['Print']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys battery-status-static "['XF86Battery']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys volume-down "['AudioLowerVolume']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys playback-repeat "['']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys hibernate "['']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys volume-down-precise "['']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys next "['AudioNext']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys suspend "['']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys touchpad-toggle-static "['XF86TouchpadToggle', 'XF86TouchpadToggle']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys volume-up-quiet "['']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys screen-brightness-up-static "['XF86MonBrightnessUp']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys play-static "['XF86AudioPlay', 'XF86AudioPlay']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys search-static "['XF86Search']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys magnifier-zoom-in "@as []"
    gsettings set org.gnome.settings-daemon.plugins.media-keys area-screenshot-clip "['Print']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys mic-mute "['']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys stop "['']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys previous "['AudioPrev']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys volume-up "['AudioRaiseVolume']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys control-center "['']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys search "@as []"
    gsettings set org.gnome.settings-daemon.plugins.media-keys calculator "['']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys volume-step "6"
    gsettings set org.gnome.settings-daemon.plugins.media-keys rfkill-static "['XF86WLAN', 'XF86UWB', 'XF86RFKill']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys pause-static "['XF86AudioPause']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys volume-mute-static "['XF86AudioMute']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys volume-up-static "['XF86AudioRaiseVolume', 'XF86AudioRaiseVolume']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys calculator-static "['XF86Calculator']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys home-static "['XF86Explorer']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys touchpad-on "['']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys www-static "['XF86WWW']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys volume-mute-quiet-static "['XF86AudioMute']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys magnifier-zoom-out "@as []"
    gsettings set org.gnome.settings-daemon.plugins.media-keys volume-down-quiet-static "['XF86AudioLowerVolume', 'XF86AudioLowerVolume']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys window-screenshot "['Print']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys power "['']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys play "['AudioPlay']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys max-screencast-length "uint32 30"
    gsettings set org.gnome.settings-daemon.plugins.media-keys power-static "['XF86PowerOff']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys volume-down-static "['XF86AudioLowerVolume', 'XF86AudioLowerVolume']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys keyboard-brightness-up "['']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys playback-forward "['']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys playback-random-static "['XF86AudioRandomPlay']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys pause "@as []"
    gsettings set org.gnome.settings-daemon.plugins.media-keys screen-brightness-cycle-static "['XF86MonBrightnessCycle']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys media-static "['XF86AudioMedia']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys hibernate-static "['XF86Suspend', 'XF86Hibernate']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys screenshot-clip "['Print']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys eject "['']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys email-static "['XF86Mail']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys screen-brightness-up "['']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys rfkill-bluetooth "['']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys touchpad-toggle "['']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys keyboard-brightness-toggle "['']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys logout "@as []"
    gsettings set org.gnome.settings-daemon.plugins.media-keys help "['', 'F1']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys playback-random "['']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys area-screenshot "['Print']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys decrease-text-size "['']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys volume-up-quiet-static "['XF86AudioRaiseVolume', 'XF86AudioRaiseVolume']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys screencast "['Print']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys screensaver-static "['XF86ScreenSaver']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys email "['']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys volume-down-quiet "['']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys screen-brightness-down-static "['XF86MonBrightnessDown']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys increase-text-size "['']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys touchpad-off-static "['XF86TouchpadOff']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys home "['']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys playback-rewind-static "['XF86AudioRewind']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys screenreader "@as []"
    gsettings set org.gnome.settings-daemon.plugins.media-keys playback-repeat-static "['XF86AudioRepeat']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys magnifier "@as []"
    gsettings set org.gnome.settings-daemon.plugins.media-keys volume-up-precise "['']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys playback-rewind "['']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys suspend-static "['XF86Sleep']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys volume-mute "['AudioMute']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys keyboard-brightness-toggle-static "['XF86KbdLightOnOff']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys mic-mute-static "['XF86AudioMicMute']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys volume-up-precise-static "['XF86AudioRaiseVolume', 'XF86AudioRaiseVolume']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys keyboard-brightness-up-static "['XF86KbdBrightnessUp']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys screen-brightness-down "['']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys rfkill "['']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys playback-forward-static "['XF86AudioForward']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys rfkill-bluetooth-static "['XF86Bluetooth']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys keyboard-brightness-down "['']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys screensaver "['l']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys on-screen-keyboard "['']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys control-center-static "['XF86Tools']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys volume-mute-quiet "['']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys touchpad-off "['']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys screenshot "['Print']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys battery-status "['']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys touchpad-on-static "['XF86TouchpadOn']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys next-static "['XF86AudioNext', 'XF86AudioNext']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys previous-static "['XF86AudioPrev', 'XF86AudioPrev']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys keyboard-brightness-down-static "['XF86KbdBrightnessDown']"
    gsettings set org.gnome.settings-daemon.plugins.media-keys volume-down-precise-static "['XF86AudioLowerVolume', 'XF86AudioLowerVolume']"
    dconf load "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/" <  
本源码包内暂不包含可直接显示的源代码文件,请下载源码包。