5.6 Xfce

Xfce 旨在开发一款轻量级但功能齐全的桌面。Xfce 的 Logo 是只老鼠🐀,曾有人反馈 bug 称因 Xfce 屏幕壁纸是只老鼠🐀导致自己的电脑屏幕被猫🐈抓坏了([joke] The default desktop startup screen causes damage to monitor!)。

安装 xfce4

  • 通过 pkg 安装

# pkg install xorg lightdm lightdm-gtk-greeter xfce wqy-fonts xdg-user-dirs xfce4-goodies lightdm-gtk-greeter-settings
  • 或通过 ports 安装

# cd /usr/ports/x11/xorg/ && make install clean
# cd /usr/ports/x11-wm/xfce4 && make install clean # 注意有个 4
# cd /usr/ports/x11/xfce4-goodies/ && make install clean
# cd /usr/ports/x11-fonts/wqy/ && make install clean
# cd /usr/ports/x11/lightdm/ && make install clean
# cd /usr/ports/x11/lightdm-gtk-greeter/ && make install clean
# cd /usr/ports/x11/lightdm-gtk-greeter-settings/ && make install clean
# cd /usr/ports/devel/xdg-user-dirs/ && make install clean 
# cd /usr/ports/x11/xfce4-goodies/ && make install clean
  • 解释

包名
作用说明

xorg

X Window 系统

lightdm

轻量级显示管理器 LightDM

lightdm-gtk-greeter

LightDM 的 GTK+ 登录界面插件

xfce

Xfce 桌面环境

wqy-fonts

文泉驿中文字体

xdg-user-dirs

管理用户主目录

xfce4-goodies

XFCE 的附加组件和插件集合

lightdm-gtk-greeter-settings

配置 LightDM GTK+ 登录界面的图形工具,缺少将无法启动

startx

$ echo "/usr/local/etc/xdg/xfce4/xinitrc" > ~/.xinitrc

或者

$ echo "/usr/local/etc/xdg/xfce4/xinitrc" > ~/.xsession

启动服务

# service dbus enable
# service lightdm enable

设置中文界面

编辑 /etc/login.conf:找到 default:\ 这一段,把 :lang=C.UTF-8 修改为 :lang=zh_CN.UTF-8

刷新数据库:

# cap_mkdb /etc/login.conf

图片欣赏

FreeBSD 安装 Xfce
FreeBSD 安装 Xfce
FreeBSD 安装 Xfce

全局菜单(可选)

安装:

# pkg install xfce4-appmenu-plugin appmenu-gtk-module appmenu-registrar

或:

# cd /usr/ports/x11/xfce4-appmenu-plugin/ && make install clean
# cd /usr/ports/x11/gtk-app-menu/ && make install clean
# cd /usr/ports/x11/appmenu-registrar/ && make install clean

查看安装后说明,安装说明配置:

$ xfconf-query -c xsettings -p /Gtk/ShellShowsMenubar -n -t bool -s true
$ xfconf-query -c xsettings -p /Gtk/ShellShowsAppmenu -n -t bool -s true
$ xfconf-query -c xsettings -p /Gtk/Modules -n -t string -s "appmenu-gtk-module"

软件推荐

FreeBSD 的 xfce 邮箱客户端推荐用 mail/evolution,可搭配 xfce4-mailwatch-pluginsecurity/gnome-keyring 一道使用。

还有一款桌面插件,叫 x11/xfce4-verve-plugin。配合设置智能书签,可以查网页内容。可通过设置 FreeBSD 的 man 手册,就可以搜索需要的内容。

XTerm 终端动态标题

sh

编辑 ~/.shrc,写入:

if [ -t 1 ]; then       
  while :; do
    printf '\033]0;%s\007' "$PWD"   
    printf '\n$ '
    if ! IFS= read -r cmd; then
      break
    fi
    printf '\033]0;%s\007' "$cmd"
    eval "$cmd"
  done
  exit
fi

csh

编辑 ~/.cshrc,写入:

if ( $?TERM && $TERM =~ xterm* ) then
    set host = `hostname`      
    alias postcmd 'rehash; printf -- "\033]2\;%s\007" "${user}@${host}: ${cwd}"
endif

tcsh

编辑 ~/.tcshrc,写入:

switch ($TERM)
case xterm*:
    set prompt="%{\033]0;%n@%m: %~\007%}%# "
    breaksw
default:
    set prompt="%# "
    breaksw
endsw 

bash

编辑 ~/.bashrc,写入:

case $TERM in
         xterm*)
             PS1="\[\033]0;\u@\h: \w\007\]bash\\$ "
             ;;
         *)
             PS1="bash\\$ "
             ;;
     esac

zsh

编辑 ~/.zshrc,写入:

autoload -Uz add-zsh-hook

function xterm_title_precmd () {
	print -Pn -- '\e]2;%n@%m %~\a'
	[[ "$TERM" == 'screen'* ]] && print -Pn -- '\e_\005{2}%n\005{-}@\005{5}%m\005{-} \005{+b 4}%~\005{-}\e\\'
}

function xterm_title_preexec () {
	print -Pn -- '\e]2;%n@%m %~ %# ' && print -n -- "${(q)1}\a"
	[[ "$TERM" == 'screen'* ]] && { print -Pn -- '\e_\005{2}%n\005{-}@\005{5}%m\005{-} \005{+b 4}%~\005{-} %# ' && print -n -- "${(q)1}\e\\"; }
}

if [[ "$TERM" == (Eterm*|alacritty*|aterm*|foot*|gnome*|konsole*|kterm*|putty*|rxvt*|screen*|wezterm*|tmux*|xterm*) ]]; then
	add-zsh-hook -Uz precmd xterm_title_precmd
	add-zsh-hook -Uz preexec xterm_title_preexec
fi

参考文献

故障排除与未竟事宜

需要进一步动态显示当前进程,目前似乎只有 sh 能做到。

最后更新于