41. Other X-based Programs
这些程序使用X窗口系统,不容易融入其他任何章节。
41.1 Balsa-2.6.4
简介Balsa
Balsa包包含一个基于GNOME-2的邮件客户端。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://pawsa.fedorapeople.org/balsa/balsa-2.6.4.tar.xz
-
下载 MD5 校验和: bebd22cb6bac87ee05255c48ee1d28dd
-
下载大小: 3.5 MB
-
预计所需磁盘空间: 66 MB
-
预计构建时间: 0.2 SBU (使用并行数=4)
额外下载
Balsa依赖
必要
Aspell-0.60.8, enchant-2.3.3, GMime-3.2.7, GPGME-1.18.0, GTK+-3.24.36, 和 libnotify-0.8.1
必要 (运行时)
MTA (它提供了一个sendmail命令)
可选
Compface-1.5.2, Gcr-3.41.1, gtksourceview-3.24.11, libcanberra-0.30, libsecret-0.20.5, MIT Kerberos V5-1.20.1, OpenLDAP-2.6.4, Procmail-3.22, SQLite-3.40.1, WebKitGTK-2.38.5, html2text, osmo, rubrica, yelp-tools
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/balsa
安装Balsa
首先,修复不使用WebKitGTK+或使用WebKitGTK+-2.38或更高版本时的构建问题。
patch -Np1 -i ../balsa-2.6.4-upstream_fixes-2.patch
运行以下命令安装Balsa:
./configure --prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var/lib \
--without-html-widget &&
make
这个包没有附带测试套件。
现在,作为root用户:
make install
命令解释
--without-html-widget: 此选项禁用构建HTML渲染器。如果你想构建HTML渲染器,请验证你已经安装了WebKitGTK-2.38.5,然后删除此选项。
--with-canberra: 启用libcanberra支持。
--with-compface: 开启compface支持。
--with-gcr: 使用libgcr来支持TLS。
--with-gss: 开启GSSAPI支持。
--with-ldap: 如果安装了OpenLDAP,使用此选项启用LDAP地址簿支持。
--with-libsecret: 启用强密码支持,并支持gnome-keyring存储密码。
--with-sqlite: 如果安装了SQLite,使用此选项启用SQLite地址簿支持。
内容
安装程序: balsa 和 balsa-ab
安装库: None
安装目录: /etc/sounds/events, /usr/share/balsa, 和 /usr/share/sounds/balsa
简要描述
balsa 是一个基于glib的邮件客户端。
balsa-ab 是balsa使用的地址簿应用程序。
41.2 feh-3.9.1
简介feh
feh是一个使用Imlib2的快速、轻量级的图像查看器。它是命令行驱动的,并通过幻灯片、缩略图浏览或多个窗口支持多个图像,以及蒙太奇或索引打印(使用TrueType字体显示文件信息)。高级功能包括快速动态缩放,渐进加载,通过HTTP加载(重新加载支持观看网络摄像头),递归文件打开(目录层次结构的幻灯片显示),以及鼠标滚轮/键盘控制。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 MD5 校验和: d83f1731515d31069908d4bda5f3489b
-
下载大小: 2.0 MB
-
预计所需磁盘空间: 7.0 MB (有测试)
-
预计构建时间: less than 0.1 SBU (有测试)
feh依赖
必要
libpng-1.6.39 和 imlib2-1.9.1 (基于giflib-5.2.1支持构建,用于测试)
推荐
可选
可选 (运行时)
libjpeg-turbo-2.1.5.1 (用于无损图像旋转) 和 ImageMagick-7.1.0-61 (加载不支持的格式)
可选 (测试套件)
Test-Command-0.11 (必要)
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/feh
安装feh
运行以下命令安装feh:
sed -i "s:doc/feh:&-3.9.1:" config.mk &&
make PREFIX=/usr
要测试结果,请执行以下命令: make test.
现在,作为root用户:
make PREFIX=/usr install
命令解释
sed -i “s:doc/feh:&-3.9.1:” config.mk: 这个sed把doc目录固定为一个版本目录,就像BLFS中使用的那样。
curl=0: 如果你没有安装cURL包,请使用make标志。
exif=1: 这个make标志启用内置Exif标记显示支持。
内容
安装程序: feh
安装库: None
安装目录: /usr/share/doc/feh-3.9.1 和 /usr/share/feh
简要描述
feh 是一个图像查看器和编目器。
41.3 FontForge-20230101
简介FontForge
FontForge包包含一个outline字体编辑器,它允许您创建自己的postscript, truetype, opentype, cid-keyed, multi-master, cff, svg 和 bitmap(bdf、FON、NFNT)字体,或编辑现有的字体。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://github.com/fontforge/fontforge/releases/download/20230101/fontforge-20230101.tar.xz
-
下载 MD5 校验和: 7043f25368ed25bcd75d168564919fb7
-
下载大小: 13 MB
-
预计所需磁盘空间: 102 MB (增加52 MB用于测试)
-
预计构建时间: 0.4 SBU (使用并行数=4, 增加0.1 SBU用于测试)
FontForge依赖
必要
libspiro-20220722 和 libxml2-2.10.3
推荐
可选
giflib-5.2.1, git-2.39.2, libjpeg-turbo-2.1.5.1, libtiff-4.5.0, sphinx-6.1.3 (to build html documentation), WOFF2-1.0.2, 和
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/fontforge
安装FontForge
运行以下命令安装FontForge:
mkdir build &&
cd build &&
cmake -DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=Release \
-Wno-dev .. &&
make
要测试结果,请执行以下命令: make check.
现在,作为root用户:
make install
如果你已经安装了sphinx-build,那么HTML文档已经被构建并安装在/usr/share/doc/fontforge中。为了能够以版本化目录的方式访问它,以root用户的身份创建一个符号链接:
ln -sv fontforge /usr/share/doc/fontforge-20230101
命令解释
-DCMAKE_BUILD_TYPE=Release: 此开关用于创建没有调试信息的优化版本。
-Wno-dev: 此开关用于抑制针对包开发人员的警告。
-DENABLE_X11=ON: 对于基本的Xorg图形,使用X11后端而不是GDK3 (gtk+-3)。
内容
安装程序: fontforge, fontimage, fontlint 和 sfddiff
安装库: libfontforge.so 和 /usr/lib/python3.11.2/site-packages/{fontforge,psMat}.so
安装目录: /usr/share/fontforge 和可选 /usr/share/doc/fontforge{,-20230101}
简要描述
fontforge 是一个允许你创建和修改字体文件的程序。
fontimage 是一个程序,可以生成显示字体中代表性符号的图像。
fontlint 是一个检查字体是否存在某些常见错误的程序。
sfddiff 是一个比较两个字体文件的程序。
41.4 Gimp-2.10.32
简介Gimp
Gimp包包含GNU图像处理程序,它对照片润饰、图像合成和图像创作非常有用。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://download.gimp.org/pub/gimp/v2.10/gimp-2.10.32.tar.bz2
-
下载 MD5 校验和: fd99bd8336c0d3aa09598e68d6e4a4d9
-
下载大小: 30 MB
-
预计所需磁盘空间: 876 MB (安装194 MB, 增加814 MB用于测试)
-
预计构建时间: 1.9 SBU (使用并行数=4; 增加0.5 SBU用于测试)
额外下载
注意
更新帮助文件仍在进行中,许多语言的大部分文本尚未翻译。下面的文件是一个git快照。
-
下载 (HTTP): https://anduin.linuxfromscratch.org/BLFS/gimp/gimp-help-2021-03-30.tar.xz
-
下载大小: 170 MB
-
下载 MD5 校验和: df6acc812c829b610d621f8e6973a680
-
预计所需磁盘空间: 从383 MB(仅en)到1.8 GB(所有17种语言)
-
预计构建时间: 1.8 SBU(仅en), 14.0 SBU,并行数=4,适用于所有语言
Gimp依赖
必要
gegl-0.4.40, gexiv2-0.14.0, glib-networking-2.74.0, GTK+-2.24.33, HarfBuzz-7.0.0. libjpeg-turbo-2.1.5.1, libmypaint-1.6.1, librsvg-2.54.5, libtiff-4.5.0, libxml2-2.10.3 python2 module (来构建翻译后的帮助文件), Little CMS-2.14, mypaint-brushes-1.3.1, Poppler-23.02.0 (包括poppler-data) 和 a graphical environment
推荐
dbus-glib-0.112, ghostscript-10.00.0 (安装libgs), ISO Codes-4.12.0, libgudev-237, PyGTK-2.24.0 (包括gtk、pango和pangocairo模块) 和 xdg-utils-1.1.3
可选
AAlib-1.4rc5, alsa-lib-1.2.8, Gvfs-1.50.3 (访问在线帮助), libmng-2.0.3, libunwind-1.6.2, libwebp-1.3.0, OpenJPEG-2.5.0, MTA (它提供了一个sendmail程序), GTK-Doc-1.33.2, appstream-glib, libbacktrace, libheif 与 libde265 (两者都需要读取macOS heic图像), libwmf, 和 OpenEXR
当你运行configure命令时,你会发现没有WebKit——这个依赖是旧的WebKit-1.0,它永远不应该在互联网上公开的现代系统上使用。
可选, 用于建立帮助系统
dblatex (用于PDF文档), pngnq 和 pngcrush 要优化PNG文件,请参阅上面的帮助下载中的说明。
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/gimp
安装Gimp
运行以下命令安装Gimp:
./configure --prefix=/usr --sysconfdir=/etc &&
make
为了测试结果(需要一个x窗口终端): make check.
现在,作为root用户:
make install
注意
这个包将图标文件安装到/usr/share/icons/hicolor层次结构中,将桌面文件安装到/usr/share/applications层次结构中。你可以通过更新/usr/share/icons/hicolor/index.theme和/usr/share/applications/mimeinfo.cache来提高系统性能和内存使用率。要执行更新,您必须安装GTK+-2.24.33 或 GTK+-3.24.36(用于图标缓存)和desktop-file-utils-0.26并以root用户身份发出以下命令:
gtk-update-icon-cache -qtf /usr/share/icons/hicolor &&
update-desktop-database -q
安装Gimp-Help
gimp-help压缩包包含帮助文件的图像和英文文本帮助,以及翻译。由于上述注意事项中提到的问题,建议您使用在线帮助,通过构建针对Gvfs-1.50.3,以便’help’可以在您的浏览器中打开最新的XML文件,或者您可以通过转到https://docs.gimp.org/2.10/en(如果需要,更改语言代码)手动在浏览器中打开html。
如果你仍然希望安装帮助文件的本地副本以离线读取,请解压缩gimp-help tar包并将其更改到新创建的源代码树的根目录中。使用下面的命令准备构建:
ALL_LINGUAS="ca da de el en en_GB es fi fr it ja ko nn pt_BR ro ru zh_CN" \
./autogen.sh --prefix=/usr
从ALL_LINGUAS中删除不希望安装的任何语言的代码。或者,如果您希望构建所有语言,请删除以ALL_LINGUAS开头的行。
现在构建帮助文件:
make
以root用户的身份执行以下命令来安装帮助文件:
make install &&
chown -R root:root /usr/share/gimp/2.0/help
命令解释
ALL_LINGUAS="ca da de el en en_GB ...": 默认情况下,帮助文件将以所有可用的语言呈现。删除您不希望构建的任何语言的代码。
--disable-python: 如果没有安装PyGTK,则需要此选项。
--enable-gtk-doc: 如果安装了GTK-Doc并且希望重新构建和安装API文档,请使用此参数。
配置Gimp
配置文件
/etc/gimp/2.0/* 和 ~/.gimp-2.8/gimprc
内容
安装程序: gimp (符号链接), gimp-2.10, gimp-console (符号链接), gimp-console-2.10, gimp-test-clipboard-2.0, 和 gimptool-2.0
安装库: libgimp-2.0.so, libgimpbase-2.0.so, libgimpcolor-2.0.so, libgimpconfig-2.0.so, libgimpmath-2.0.so, libgimpmodule-2.0.so, libgimpthumb-2.0.so, libgimpui-2.0.so, 和 libgimpwidgets-2.0.so
安装目录: /etc/gimp, /usr/include/gimp-2.0, /usr/{lib,share}/gimp, /usr/share/gtk-doc/html/libgimp{,base,color,config}, 和 /usr/share/gtk-doc/html/libgimp{math,module,thumb,widgets}
简要描述
gimp 是指向gimp-2.10的符号链接。
gimp-2.10 是Gnu图像处理程序。它适用于各种图像格式,并提供了大量的工具选择。
gimp-console 是指向gimp-console-2.10的符号链接。
gimp-console-2.10 是一个控制台程序,它的行为就像使用--no-interface命令行选项调用Gimp一样。
gimptool-2.0 是一种工具,可以构建插件或脚本,如果它们在一个源文件中分发,则可以安装它们。gimptool-2.0也可以用于需要知道编译Gimp时使用的库和包含路径的程序。
libgimp-2.0.so 为Gimp的过程数据库(PDB)提供C绑定,PDB为核心函数和插件提供的功能提供接口。
libgimpbase-2.0.so 为基本的Gimp功能提供C函数,例如确定枚举数据类型、gettext转换、确定Gimp的版本号和功能、处理数据文件和访问环境。
libgimpcolor-2.0.so 提供了RGB, HSV和CMYK颜色相关的C函数,以及不同颜色模型之间的颜色转换和对一个区域进行自适应超采样。
libgimpconfig-2.0.so 包含用于读写配置信息的C函数。
libgimpmath-2.0.so 包含提供数学定义和宏、操作3x3变换矩阵、设置和操作向量以及MD5消息摘要算法的C函数。
libgimpmodule-2.0.so 提供了使用GModule实现模块加载的C函数,并支持保存给定搜索路径中找到的GimpModule的列表。
libgimpthumb-2.0.so 提供用于处理Gimp缩略图对象的C函数。
libgimpui-2.0.so 包含Gimp的通用用户界面函数。
libgimpwidgets-2.0.so 包含Gimp和GTK的小部件创建和操作函数。
41.5 Gparted-1.5.0
简介Gparted
Gparted是Gnome分区编辑器,它是用于其他命令行工具的Gtk 3 GUI,可以创建、重组或删除磁盘分区。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://downloads.sourceforge.net/gparted/gparted-1.5.0.tar.gz
-
下载 MD5 校验和: 9adbd4b1cbcb7a7c76dcc0e9ffed9a7c
-
下载大小: 5.2 MB
-
预计所需磁盘空间: 75 MB (增加75 MB用于测试)
-
预计构建时间: 0.3 SBU (使用并行数=4; 增加0.2 SBU用于测试)
Gparted依赖
必要
可选
btrfs-progs-6.1.3 (如果使用btrfs文件系统), exfatprogs, 和 udftools
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/gparted
安装Gparted
运行以下命令安装Gparted:
./configure --prefix=/usr \
--disable-doc \
--disable-static &&
make
要运行测试,请执行以下命令: make check.
现在,作为root用户:
make install
命令解释
--disable-static: 这个开关阻止安装静态版本的库。
--disable-doc: 此开关禁用可选文档的构建。如果您已经安装了GNOME Doc Utils,请删除它。
--enable-xhost-root: 该开关提供了一个临时解决方案,通过使用xhost授予和撤销对X11显示器的root访问权,允许GParted在Wayland下运行。
Using Gparted
要操作文件系统,Gparted在运行时依赖于各种文件系统工具(您只需要为实际使用的文件系统安装这些工具): Hdparm-9.65 (可选显示序列号设备信息), btrfs-progs-6.1.3, dosfstools-4.2, e2fsprogs (作为LFS的一部分安装), jfsutils-1.1.15, reiserfsprogs-3.6.27, xfsprogs-6.1.1, mtools (用于读写FAT16/32卷标签和UUIDs), hfsutils, hfsprogs, nilfs-utils 和 Reiser4progs.
运行Gparted需要Root权限。如果您希望从菜单中运行应用程序,则需要进一步的应用程序和配置。可能使用的应用程序示例: gksu, kdesudo, 或 xdg-su. 另一个简单的解决方案是ssh-askpass-9.2p1。
ssh-askpass
如果您的系统中已经安装了ssh-askpass-9.2p1,请以root用户运行以下命令:
cp -v /usr/share/applications/gparted.desktop /usr/share/applications/gparted.desktop.back &&
sed -i 's/Exec=/Exec=sudo -A /' /usr/share/applications/gparted.desktop
现在,单击Gparted的菜单项,屏幕上会出现一个对话框,要求输入管理员密码。
内容
安装程序: gparted 和 gparted_polkit (可选)
安装库: None
安装目录: None
简要描述
gparted 是一个shell脚本,它在调用gpartedbin之前设置环境。
gparted_polkit 是一个可选的脚本,可以从菜单中使用polkit运行gparted。
41.6 HexChat-2.16.1
简介HexChat
HexChat是一个IRC聊天程序。它允许你同时加入多个IRC频道(聊天室),公开交谈,进行私人一对一的对话等。文件传输也是可能的。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://dl.hexchat.net/hexchat/hexchat-2.16.1.tar.xz
-
下载 MD5 校验和: 0af269d719c2c047310d44804bb31fdb
-
下载大小: 1.3 MB
-
预计所需磁盘空间: 22 MB
-
预计构建时间: less than 0.1 SBU (使用并行数=4)
HexChat依赖
必要
dbus-glib-0.112, GLib-2.74.5, 和 libnotify-0.8.1
推荐
GTK+-2.24.33 和 libcanberra-0.30
可选
dbus-glib-0.112, ISO Codes-4.12.0, libnotify-0.8.1, pciutils-3.9.0, libproxy, luajit, 如果启用了python cffi 和 pycparser.
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/hexchat
安装HexChat
运行以下命令安装HexChat:
mkdir build &&
cd build &&
meson --prefix=/usr \
--buildtype=release \
-Dwith-lua=false \
-Dwith-python=false \
.. &&
ninja
这个包没有附带测试套件。
现在,作为root用户:
ninja install
命令解释
-Dwith-lua=false: 默认情况下,此软件包将查找luajit。然而,Lua插件支持目前是中断的,并将导致应用程序在启动时崩溃。
-Dwith-python=false: 如果要启用Python接口,请移除此开关或将其设置为true。当启用Python时,需要在安装Hexchat之前安装两个额外的模块(cffi和pycparser)。
-Dwith-libcanberra=false: 如果没有安装libcanberra,请使用这个开关。
内容
安装程序: hexchat
安装库: None
安装目录: /usr/lib/hexchat
简要描述
hexchat 是一个图形化的Internet中继聊天(IRC)客户端。
41.7 Inkscape-1.2.2
简介Inkscape
Inkscape是一个你所见即所得的可伸缩矢量图形编辑器。它对于创建、查看和更改SVG图像非常有用。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://inkscape.org/gallery/item/37360/inkscape-1.2.2.tar.xz
-
下载 MD5 校验和: 490c40bbb3ce3441ceee88e61775bbf4
-
下载大小: 38 MB
-
预计所需磁盘空间: 911 MB (安装184 MB)
-
预计构建时间: 4.7 SBU (使用并行数=4)
注意
压缩包inkscape-1.2.2.tar.xz将被解压到inkscape-1.2.2_2022-12-01_b0a8486541/目录下。
Inkscape依赖
必要
Boost-1.81.0, double-conversion-3.2.1, GC-8.2.2, Gsl-2.7.1, Gtkmm-3.24.7, libsoup-2.74.3, libxslt-1.1.37, Poppler-23.02.0, popt-1.19 和 Wget-1.21.3 (下载测试依赖项)
推荐
ImageMagick-7.1.0-61, Little CMS-2.14 或 Little CMS-1.19, libcanberra-0.30 (消除插件警告), Potrace-1.16 (用于bucket-fill工具), 还有运行时用于核心扩展的各种Python模块: CacheControl-0.12.11, cssselect-1.2.0, lxml-4.9.2, NumPy-1.24.2, pySerial-3.5, 和 Scour-0.38.2
可选
Aspell-0.60.8, dbus-1.14.6 (从脚本运行inkscape), Doxygen-1.9.6, gspell-1.12.0, libcdr, libvisio, libwpg (或 libwpd)
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/inkscape
安装Inkscape
运行以下命令安装Inkscape:
mkdir build &&
cd build &&
cmake -DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=Release \
.. &&
make
注意
在使用多个处理器构建时,这个包可能偶尔会失败。有关更多信息,请参阅Using Multiple Processors。
这个包没有一个可用的测试套件。
现在,作为root用户:
make install
注意
这个包将图标文件安装到/usr/share/icons/hicolor层次结构中,将桌面文件安装到/usr/share/applications层次结构中。你可以通过更新/usr/share/icons/hicolor/index.theme和/usr/share/applications/mimeinfo.cache来提高系统性能和内存使用率。要执行更新,您必须安装GTK+-2.24.33 或 GTK+-3.24.36(用于图标缓存)和desktop-file-utils-0.26(用于桌面缓存)并以root用户身份发出以下命令:
gtk-update-icon-cache -qtf /usr/share/icons/hicolor &&
update-desktop-database -q
命令解释
-DCMAKE_BUILD_TYPE=Release: 此开关用于构建发布库,而无需在代码中使用任何调试assert。
-DWITH_DBUS=ON: 如果你想在操作图像的交互式脚本中使用inkscape,请使用它。
内容
安装程序: inkscape 和 inkview
安装库: lib2geom.so 和 libinkscape_base.so (在/usr/lib/inkscape)
安装目录: /usr/include/2geom-1.2.2, /usr/lib/inkscape, 和 /usr/share/inkscape
简要描述
inkscape 是一个SVG(可伸缩矢量图形)编辑程序。
inkview 是一个显示SVG文件的简单程序。
libinkscape_base.so 提供inkscape和inkview使用的例程。
41.8 Pidgin-2.14.12
简介Pidgin
Pidgin是一个Gtk+ 2即时消息客户端,可以连接到广泛的网络,包括Bonjour, ICQ, GroupWise, Jabber/XMPP, IRC, Gadu-Gadu, SILC, SIMPLE, 和 Zephyr。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://downloads.sourceforge.net/pidgin/pidgin-2.14.12.tar.bz2
-
下载 MD5 校验和: cfcf2ab67717e7c2884e4399864b877a
-
下载大小: 7.8 MB
-
预计所需磁盘空间: 270 MB (有测试和文档)
-
预计构建时间: 0.5 SBU (使用并行数=4; 有测试和文档)
Pidgin依赖
必要
推荐
libgcrypt-1.10.1, gstreamer-1.22.0 (音频支持所需), 和 GnuTLS-3.8.0 或 nss-3.88.1
可选
Avahi-0.8 (Bonjour插件所需), Cyrus SASL-2.1.28, dbus-1.14.6, Doxygen-1.9.6, evolution-data-server-3.46.4, GConf-3.2.6, Graphviz-7.1.0, libidn-1.41 (如果你想运行测试套件,这是必需的), libnsl-2.0.0, NetworkManager-1.42.0, SQLite-3.40.1 (联系人可用性预测插件所需), startup-notification-0.12, Tk-8.6.13, Farstream (需要视频和语音支持), Gtkspell, libgadu, libgnt, Meanwhile (需要对Sametime协议进行支持), Mono, SILC Client, SILC Toolkit, Zephyr, 和 MIT Kerberos V5-1.20.1 (Zephyr模块中需要Kerberos支持)
可选 (运行时)
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/pidgin
安装Pidgin
运行以下命令编译Pidgin:
./configure --prefix=/usr \
--sysconfdir=/etc \
--with-gstreamer=1.0 \
--disable-avahi \
--disable-gtkspell \
--disable-meanwhile \
--disable-idn \
--disable-nm \
--disable-tk \
--disable-vv &&
make
如果你已经安装了Doxygen-1.9.6 (Graphviz-7.1.0),并且你希望创建API文档,发布:
make docs
要测试结果,请执行以下命令: make check.
现在,作为root用户:
make install &&
mkdir -pv /usr/share/doc/pidgin-2.14.12 &&
cp -v README doc/gtkrc-2.0 /usr/share/doc/pidgin-2.14.12
如果你创建了API文档,以root用户的身份使用以下命令安装它:
mkdir -pv /usr/share/doc/pidgin-2.14.12/api &&
cp -rv doc/html/* /usr/share/doc/pidgin-2.14.12/api
注意
这个包将图标文件安装到/usr/share/icons/hicolor层次结构中,将桌面文件安装到/usr/share/applications层次结构中。你可以通过更新/usr/share/icons/hicolor/index.theme和/usr/share/applications/mimeinfo.cache来提高系统性能和内存使用率。要执行更新,您必须安装GTK+-2.24.33 或 GTK+-3.24.36(用于图标缓存)和desktop-file-utils-0.26(用于桌面缓存)并以root用户身份发出以下命令:
gtk-update-icon-cache -qtf /usr/share/icons/hicolor &&
update-desktop-database -q
命令解释
--with-gstreamer=1.0: 如果你还没有安装gstreamer-1.22.0,请删除此开关并添加--disable-gstreamer。
--disable-avahi: 如果你已经安装了Avahi-0.8,请移除这个开关。
--disable-gtkspell: 如果你已经安装了Gtkspell 并希望启用拼写检查支持。
--disable-meanwhile: 如果你已经安装了Meanwhile,请移除这个开关。
--disable-idn: 如果你已经安装了libidn-1.41,请移除这个开关。
--disable-tk: 如果你已经安装了Tk-8.6.13 你希望使用TCL绑定。
--disable-nm: 如果你已经安装了NetworkManager-1.42.0,请移除这个开关。
--disable-vv: 如果你已经安装了Farstream,请移除这个开关,并希望使语音和视频通信支持。您还应该删除–disable-gstreamer标志。
--enable-cyrus-sasl: 如果你已经安装了Cyrus SASL-2.1.28并且希望使用SASL支持构建Pidgin,请使用这个开关。
--disable-gnutls: 如果你已经安装了GnuTLS-3.8.0 和 nss-3.88.1,但是想要使用nss-3.88.1来支持SSL,可以使用这个开关。
配置Pidgin
配置文件
~/.purple/* 和 ~/.gtkrc-2.0
配置信息
大多数配置可以通过在程序中使用各种首选项设置来完成。此外,您可以创建一个~/.gtkrc-2.0文件,该文件可以存储影响Pidgin和其他gtk+ 2应用程序的gtk+ 2主题设置。请注意,在包安装期间安装了一个示例gtkrc-2.0文件,可以用作起点或参考。
内容
安装程序: pidgin, purple-client-example, purple-remote, purple-send, purple-send-async, 和 purple-url-handler
安装库: libpurple.so, 和 libpurple-client.so
安装目录: /usr/include/libpurple, /usr/include/pidgin, /usr/lib/pidgin, /usr/lib/purple-2, /usr/share/doc/pidgin-2.14.12, /usr/share/pixmaps/pidgin, /usr/share/purple, 和 /usr/share/sounds/purple
简要描述
pidgin 是一个GTK+ 2即时消息传递客户端。
purple-client-example 是一个演示如何使用libpurple-client库与purple通信的示例。
purple-remote 向Pidgin/Finch发送远程指令。
purple-send 使用DBus调用purple API函数并打印返回值。
purple-send-async 使用DBus调用purple API函数。与purple-send不同,它不会打印返回值。
purple-url-handler 是一个使用purple处理url的python脚本。
41.9 Rox-Filer-2.11
简介Rox-Filer
rox-filer是一个快速、轻量级的gtk2文件管理器。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://downloads.sourceforge.net/rox/rox-filer-2.11.tar.bz2
-
下载 MD5 校验和: 0eebf05a67f7932367750ebf9faf215d
-
下载大小: 1.8 MB
-
预计所需磁盘空间: 19 MB
-
预计构建时间: 0.3 SBU
rox-filer依赖
必要
libglade-2.6.4 和 shared-mime-info-2.2
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/rox-filer
内核配置
如果您希望rox-filer能够在其他应用程序对文件进行更改时(例如,如果正在运行脚本)更新目录的内容,则需要在内核中启用dnotify支持。在make menuconfig中:
File systems --->
[*] Dnotify support [CONFIG_DNOTIFY]
保存新的.config,然后编译内核。
安装Rox-Filer
使用以下命令编译rox-filer:
cd ROX-Filer &&
sed -i 's:g_strdup(getenv("APP_DIR")):"/usr/share/rox":' src/main.c &&
sed -i 's/gboolean/extern &/' src/session.h &&
mkdir build &&
pushd build &&
../src/configure LIBS="-lm -ldl" &&
make &&
popd
现在以root用户的身份安装它:
mkdir -p /usr/share/rox &&
cp -av Help Messages Options.xml ROX images style.css .DirIcon /usr/share/rox &&
cp -av ../rox.1 /usr/share/man/man1 &&
cp -v ROX-Filer /usr/bin/rox &&
chown -Rv root:root /usr/bin/rox /usr/share/rox &&
cd /usr/share/rox/ROX/MIME &&
ln -sv text-x-{diff,patch}.png &&
ln -sv application-x-font-{afm,type1}.png &&
ln -sv application-xml{,-dtd}.png &&
ln -sv application-xml{,-external-parsed-entity}.png &&
ln -sv application-{,rdf+}xml.png &&
ln -sv application-x{ml,-xbel}.png &&
ln -sv application-{x-shell,java}script.png &&
ln -sv application-x-{bzip,xz}-compressed-tar.png &&
ln -sv application-x-{bzip,lzma}-compressed-tar.png &&
ln -sv application-x-{bzip-compressed-tar,lzo}.png &&
ln -sv application-x-{bzip,xz}.png &&
ln -sv application-x-{gzip,lzma}.png &&
ln -sv application-{msword,rtf}.png
命令解释
sed -i ‘s:g_strdup(getenv(“APP_DIR”)):”/usr/share/rox”:’ src/main.c: 该命令将/usr/share/rox硬编码为rox-filer的私有文件目录。否则,sed rox需要设置环境变量${APP_DIR}。
sed -i ‘s/gboolean/extern &/’ src/session.h: 该命令修复被GCC 10及更高版本标记为错误的多个定义。
ln -sv application-…: 这些命令复制了一些常见mime类型的图标。如果没有这些链接,rox-filer只会显示默认的”unknown binary blob”图标。
配置RoxFiler
配置信息
rox-filer的大多数配置是通过右键单击rox-filer窗口并从菜单中选择“Options”来实现的。它将其设置存储在~/.config/rox.sourceforge.net中。
rox-filer的一个特性是,如果目录中有一个名为AppRun的可执行文件,rox-filer会在打开文件夹之前首先运行AppRun。
举个例子,如果你可以通过ssh访问另一台计算机(可能是本地网络上的另一台计算机),并配置了无密码登录的ssh,并且你已经安装了sshfs-3.7.3,你可以使用AppRun使用sshfs将远程计算机挂载到本地文件夹中。对于这个例子中的AppRun脚本,文件夹必须与远程计算机的主机名相同:
cat > /path/to/hostname/AppRun << "HERE_DOC"
#!/bin/bash
MOUNT_PATH="${0%/*}"
HOST=${MOUNT_PATH##*/}
export MOUNT_PATH HOST
sshfs -o nonempty ${HOST}:/ ${MOUNT_PATH}
rox -x ${MOUNT_PATH}
HERE_DOC
chmod 755 /path/to/hostname/AppRun
这对于装载来说工作得很好,但是要卸载它,需要运行命令fusermount -u ${MOUNTPOINT} 。您可以在rox首选项中将其设置为默认的umount命令,但是您将无法卸载任何普通的(需要umount)挂载点。需要一个脚本,使用 fusermount -u ${MOUNTPOINT} 卸载Fuse挂载点。作为root用户:
cat > /usr/bin/myumount << "HERE_DOC" &&
#!/bin/bash
sync
if mount | grep "${@}" | grep -q fuse
then fusermount -u "${@}"
else umount "${@}"
fi
HERE_DOC
chmod 755 /usr/bin/myumount
现在,要让Rox使用这个简单的脚本,打开Rox窗口,右击它并从菜单中选择选项。在左边的列表中选择“Action windows”,然后在右边的“Unmount command”中更改umount为myumount。
如果你使用Gnome或KDE这样的桌面环境,你可能想要创建一个rox.desktop文件,以便rox-filer出现在面板的菜单中。作为root用户:
ln -s ../rox/.DirIcon /usr/share/pixmaps/rox.png &&
mkdir -p /usr/share/applications &&
cat > /usr/share/applications/rox.desktop << "HERE_DOC"
[Desktop Entry]
Encoding=UTF-8
Type=Application
Name=Rox
Comment=The Rox File Manager
Icon=rox
Exec=rox
Categories=GTK;Utility;Application;System;Core;
StartupNotify=true
Terminal=false
HERE_DOC
内容
安装程序: rox
安装库: None
安装目录: /usr/share/rox
简要描述
rox 是rox文件管理器。
41.10 rxvt-unicode-9.31
简介rxvt-unicode
rxvt-unicode是终端仿真器rxvt的一个克隆,rxvt是一个X窗口系统终端仿真器,它包括对XFT和Unicode的支持。
该软件包在LFS 11.3平台上可以正常构建和工作。
注意
请注意,rxvt-unicode受到perl中SIGFPE处理程序设置为SIG_IGN的问题的影响(即信号被忽略)。如果你在urxvt中构建LFS系统并运行测试套件,请在bash中测试并检查哪个测试会发出此信号。
包信息
-
下载 (HTTP): http://dist.schmorp.de/rxvt-unicode/Attic/rxvt-unicode-9.31.tar.bz2
-
下载 MD5 校验和: 3d0ec83705c9b9ff301a4b9965b3cd9f
-
下载大小: 860 KB
-
预计所需磁盘空间: 22 MB
-
预计构建时间: 0.2 SBU
rxvt-unicode依赖
必要
libptytty-2.0 和 a graphical environment
可选
gdk-pixbuf-2.42.10 (用于背景图像) 和 startup-notification-0.12
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/rxvt-unicode
安装rxvt-unicode
运行以下命令安装rxvt-unicode:
./configure --prefix=/usr --enable-everything &&
make
这个包没有附带测试套件。
现在,作为root用户:
make install
命令解释
--enable-everything: 添加对所有非多选选项的支持。关于不同选项的详细信息可以在文件README.configure中找到。
--disable-xft: 移除对Xft字体的支持。
--disable-perl: 禁用嵌入式Perl解释器。
--disable-afterimage: 移除对libAfterImage的支持。
配置rxvt-unicode
rxvt-unicode终端模拟器使用资源类URxvt和资源名称urxvt。你可以将X资源定义添加到用户的~/.Xresources 或 ~/.Xdefaults文件中,或者系统范围内的/etc/X11/app-defaults/URxvt文件中。下面的例子将加载matcher Perl扩展名(假设Perl支持没有被禁用),它允许点击左键在指定的浏览器中打开带下划线的URL,设置背景和前景颜色并加载Xft字体(以root用户的身份):
cat >> /etc/X11/app-defaults/URxvt << "EOF"
! Use the specified colour as the windows background colour [default white]
URxvt*background: black
! Use the specified colour as the windows foreground colour [default black]
URxvt*foreground: yellow
! Select the fonts to be used. This is a comma separated list of font names
URxvt*font: xft:Monospace:pixelsize=18
! Comma-separated list(s) of perl extension scripts (default: "default")
URxvt*perl-ext: matcher
! Specifies the program to be started with a URL argument. Used by
URxvt*url-launcher: firefox
! When clicked with the mouse button specified in the "matcher.button" resource
! (default 2, or middle), the program specified in the "matcher.launcher"
! resource (default, the "url-launcher" resource, "sensible-browser") will be
! started with the matched text as first argument.
! Below, default modified to mouse left button.
URxvt*matcher.button: 1
EOF
要查看已定义的X资源,请执行以下命令:
xrdb -query
为了添加新的用户配置文件的修改,保持之前的X配置(当然,除非更改之前定义的任何配置),发出:
xrdb -merge ~/.Xresources
rxvt-unicode应用程序还可以在守护进程模式下运行,这使得在同一个进程中打开多个终端窗口成为可能。然后,urxvtc客户端连接到urxvtd守护进程,并请求一个新的终端窗口。请谨慎使用此选项。如果守护进程崩溃,终端窗口中所有正在运行的进程都会终止。
你可以在系统中启动urxvtd守护进程或个人启动X会话脚本(例如~/.xinitrc),通过在脚本顶部添加以下行:
# Start the urxvtd daemon
urxvtd -q -f -o &
要了解更多信息,请查看urxvt, urxvtd, urxvtc, 和urxvtperl的手册页。
如果你使用桌面环境,可以以root用户身份包含一个菜单项:
cat > /usr/share/applications/urxvt.desktop << "EOF" &&
[Desktop Entry]
Encoding=UTF-8
Name=Rxvt-Unicode Terminal
Comment=Use the command line
GenericName=Terminal
Exec=urxvt
Terminal=false
Type=Application
Icon=utilities-terminal
Categories=GTK;Utility;TerminalEmulator;
#StartupNotify=true
Keywords=console;command line;execute;
EOF
update-desktop-database -q
为此,你需要 desktop-file-utils-0.26 至少有一个 gnome-icon-theme-3.12.0, oxygen-icons5-5.103.0 和 lxde-icon-theme-0.5.1. 如果安装了startup-notification-0.12,取消注释“StartupNotify=true”这行代码。
内容
安装程序: urxvt, urxvtd, 和 urxvtc
安装库: 许多Perl扩展位于/usr/lib/urxvt/perl目录下
安装目录: /usr/lib/urxvt
简要描述
urxvt 是X Window系统的终端模拟器。
urxvtd 是urxvt终端守护进程。
urxvtc 控制urxvtd守护进程。
41.11 Thunderbird-102.8.0
简介Thunderbird
Thunderbird是一个基于Mozilla代码库的独立邮件/新闻客户端。它使用Gecko渲染引擎来显示和合成HTML电子邮件。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 MD5 校验和: 3f734007b13b304dadcdf3a197d95a9e
-
下载大小: 483 MB
-
预计所需磁盘空间: 7.4 GB (安装204 MB)
-
预计构建时间: 20 SBU (在4核机器上)
Thunderbird依赖
必要
Autoconf-2.13, Cbindgen-0.24.3, dbus-glib-0.112, GTK+-3.24.36, LLVM-15.0.7 包括clang, nodejs-18.14.1, PulseAudio-16.1 (或 alsa-lib-1.2.8 如果你编辑mozconfig;尽管它现在已被mozilla弃用), Python-3.11.2 (使用sqlite模块重建), startup-notification-0.12, Zip-3.0, 和 UnZip-6.0
推荐
ICU-72.1, libevent-2.1.12, libvpx-1.13.0, NASM-2.16.01, NSPR-4.35, 和 nss-3.88.1
注意
如果你没有安装推荐的依赖项,那么将使用这些包的内部副本。它们可能经过了测试,但可能已经过时或存在安全漏洞。
可选
Wget-1.21.3, Wireless Tools-29, 和 watchman
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/Thunderbird
安装Thunderbird
注意
Thunderbird的构建过程在链接时可以使用8GB以上的RAM。在继续之前,请确保有足够的交换区或RAM。
Thunderbird的配置是通过创建一个包含所需配置选项的mozconfig文件来完成的。下面创建了一个默认的mozconfig。要查看可用配置选项的完整列表(以及每个选项的简要描述),请发出mozilla/configure –help。使用以下命令创建文件:
cat > mozconfig << "EOF"
# If you have a multicore machine, all cores will be used.
# If you have installed wireless-tools comment out this line:
ac_add_options --disable-necko-wifi
# Uncomment the following option if you have not installed PulseAudio
#ac_add_options --enable-audio-backends=alsa
# Comment out following options if you have not installed
# recommended dependencies:
ac_add_options --with-system-libevent
ac_add_options --with-system-libvpx
ac_add_options --with-system-nspr
ac_add_options --with-system-nss
ac_add_options --with-system-icu
# The elf-hack causes failed installs on some machines.
# It is supposed to improve startup time and it shrinks libxul.so
# by a few MB - comment this if you know your machine is not affected.
ac_add_options --disable-elf-hack
# The BLFS editors recommend not changing anything below this line:
ac_add_options --prefix=/usr
ac_add_options --enable-application=comm/mail
ac_add_options --disable-crashreporter
ac_add_options --disable-updater
ac_add_options --disable-debug
ac_add_options --disable-debug-symbols
ac_add_options --disable-tests
ac_add_options --enable-optimize=-O2
ac_add_options --enable-linker=gold
ac_add_options --enable-strip
ac_add_options --enable-install-strip
ac_add_options --enable-official-branding
ac_add_options --enable-system-ffi
ac_add_options --enable-system-pixman
ac_add_options --with-system-jpeg
ac_add_options --with-system-png
ac_add_options --with-system-zlib
# Using sandboxed wasm libraries has been moved to all builds instead
# of only mozilla automation builds. It requires extra llvm packages
# and was reported to seriously slow the build. Disable it.
ac_add_options --without-wasm-sandboxed-libraries
EOF
cbindgen-0.24.2中的更改导致cbindgen现在输出一个符号,但它已经在首部中定义了。这个sed可以防止构建最终失败:
sed -i '/ROOT_CLIP_CHAIN/d' gfx/webrender_bindings/webrender_ffi.h
现在调用Python mach脚本来编译Thunderbird:
注意
如果你在chroot中编译这个包,你必须做两件事。首先,作为root用户,确保/dev/shm已经挂载。如果你不这样做,Python的配置将失败,并返回一个回溯报告,引用/usr/lib/pythonN.N/multiprocessing/synchronize.py。运行:
mountpoint -q /dev/shm || mount -t tmpfs devshm /dev/shm
其次,在root用户使用export SHELL=/bin/sh导出$SHELL环境变量,或者在运行./mach命令时添加SHELL=/bin/sh。
现在调用Python mach脚本来编译包。
export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=none &&
export MOZBUILD_STATE_PATH=./mozbuild &&
./mach configure &&
./mach build
这个包没有附带测试套件。
以root用户的身份运行以下命令来安装Thunderbird:
MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=none ./mach install
清空上面设置的环境变量:
unset MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE MOZBUILD_STATE_PATH
命令解释
MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=none: 使用系统python为mach创建虚拟环境,无需下载任何python轮子,也无需使用系统python模块。这可以防止系统模块和捆绑模块之间的版本不匹配。
./mach configure: 这将验证提供的依赖项和mozconfig。
./mach build --verbose: 如果你需要哪些文件正在被编译,以及使用的C或C++标志的详细信息,可以使用这个替代方案。
./mach build -jN: 默认情况下,构建应该使用所有在线CPU内核。如果因为内存不足,使用所有内核会导致构建切换,那么使用更少的内核可以更快。
`CC=gcc CXX=g++`: BLFS过去更喜欢使用gcc和g++,而不是upstream默认的clang程序。随着gcc-12的发布,gcc和g++的构建时间变长了,主要是由于额外的警告,构建也变大了。如果你希望继续使用gcc, g++,在运行configure脚本之前设置这些环境变量。在i上使用GCC构建i?86号目前已经崩溃。
配置Thunderbird
配置信息
如果您的窗口管理器或桌面环境不允许您配置默认浏览器,您可以向Thunderbird添加一个配置参数,以便当您单击Internet/intranet/local URL时,浏览器将启动。检查或修改任何配置参数的过程非常简单,这里的说明可以用于查看或修改任何参数。
首先,打开“Edit”下拉菜单,打开配置对话框。选择“偏好设置”,然后向下滚动到页面底部。然后,点击“Config Editor”按钮。点击“我接受风险!””按钮。这将显示一个配置首选项列表以及与每个配置相关的信息。你可以使用“Filter:”栏输入搜索条件并缩小所列项目的范围。更改首选项可以使用两种方法。第一,如果首选项具有布尔值(True/False),只需双击首选项以切换值;第二,对于其他首选项,只需右键单击所需的行,从菜单中选择“修改”并更改值。创建新的首选项的方法相同,只是从菜单中选择“new”,并在提示时在字段中提供所需的数据。
为了让Thunderbird使用指定的浏览器,你需要检查的配置首选项是network.protocol-handler.app.http,它应该设置为所需浏览器的路径,例如:/usr/bin/firefox。
如果您使用GNOME或KDE等桌面环境,可能会创建一个桌面文件thunderbird.desktop,以便在菜单中包含一个“Thunderbird”条目。以root用户运行以下命令:
mkdir -pv /usr/share/{applications,pixmaps} &&
cat > /usr/share/applications/thunderbird.desktop << "EOF" &&
[Desktop Entry]
Name=Thunderbird Mail
Comment=Send and receive mail with Thunderbird
GenericName=Mail Client
Exec=thunderbird %u
Terminal=false
Type=Application
Icon=thunderbird
Categories=Network;Email;
MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/rss+xml;x-scheme-handler/mailto;
StartupNotify=true
EOF
ln -sfv /usr/lib/thunderbird/chrome/icons/default/default256.png \
/usr/share/pixmaps/thunderbird.png
内容
安装程序: thunderbird
安装库: 在/usr/lib/thunderbird目录下有大量的库和模块
安装目录: /usr/lib/thunderbird
简要描述
thunderbird 是Mozilla的电子邮件和新闻组客户端。
41.12 Tigervnc-1.13.0
简介Tigervnc
Tigervnc是一种高级的VNC(虚拟网络计算)实现。它允许创建不绑定到物理控制台的Xorg服务器,还提供了一个用于查看远程图形桌面的客户机。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://github.com/TigerVNC/tigervnc/archive/v1.13.0/tigervnc-1.13.0.tar.gz
-
下载 MD5 校验和: be6dcdd364a680be50964b60a5de6450
-
下载大小: 1.9 MB
-
预计所需磁盘空间: 97 MB
-
预计构建时间: 0.4 SBU (使用并行数=4)
额外下载
注意
Xorg的版本可能最终会有几个版本过时,但对于这个包所需的定制是必需的。
-
必要补丁: https://www.linuxfromscratch.org/patches/blfs/11.3/tigervnc-1.13.0-configuration_fixes-1.patch
-
在没有显示管理器的情况下启动服务器的可选文件: https://anduin.linuxfromscratch.org/BLFS/tigervnc/Xsession
Tigervnc依赖
必要
CMake-3.25.2, FLTK-1.3.8, GnuTLS-3.8.0, libgcrypt-1.10.1, libjpeg-turbo-2.1.5.1, Pixman-0.42.2, Systemd-252 (与 Linux-PAM-1.5.2), Xorg Applications, xinit-1.4.2, 和 Xorg Legacy Fonts
推荐
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/tigervnc
安装Tigervnc
首先,调整配置文件使其与LFS系统兼容:
patch -Np1 -i ../tigervnc-1.13.0-configuration_fixes-1.patch
运行以下命令安装tigervnc:
# Put code in place
mkdir -p unix/xserver &&
tar -xf ../xorg-server-21.1.6.tar.xz \
--strip-components=1 \
-C unix/xserver &&
( cd unix/xserver &&
patch -Np1 -i ../xserver21.1.1.patch ) &&
# Build viewer
cmake -G "Unix Makefiles" \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=Release \
-Wno-dev . &&
make &&
# Build server
pushd unix/xserver &&
autoreconf -fiv &&
CPPFLAGS="-I/usr/include/drm" \
./configure $XORG_CONFIG \
--disable-xwayland --disable-dri --disable-dmx \
--disable-xorg --disable-xnest --disable-xvfb \
--disable-xwin --disable-xephyr --disable-kdrive \
--disable-devel-docs --disable-config-hal --disable-config-udev \
--disable-unit-tests --disable-selective-werror \
--disable-static --enable-dri3 \
--without-dtrace --enable-dri2 --enable-glx \
--with-pic &&
make &&
popd
这个包没有附带测试套件。
现在,作为root用户:
#Install viewer
make install &&
#Install server
( cd unix/xserver/hw/vnc && make install ) &&
[ -e /usr/bin/Xvnc ] || ln -svf $XORG_PREFIX/bin/Xvnc /usr/bin/Xvnc
命令解释
tar -xf .. xorg-server…: 该命令将标准Xorg包提取到树中需要修改的位置。
--disable ...: 标准Xorg服务器通常需要的大多数选项对于构建的Xvnc实例来说是不需要的。
| **[ -e /usr/bin/Xvnc ] | ln … Xvnc: 如果Xvnc服务器没有安装在/usr/bin目录下,那么创建一个链接,以便vncserver**脚本可以找到它。 |
配置Tigervnc
Server配置
在systemd系统上,还有另一种配置方法。此配置提供了使tigervnc systemd感知VNC会话的额外好处,并允许像GNOME这样的桌面环境在VNC会话启动后自动启动服务。此配置还提供了在系统启动时启动VNC会话的额外好处。要以这种方式设置VNC服务器,请遵循以下说明。
首先,安装一个基本的Xsession文件,以便VNC服务器可以正确初始化X sessions:
install -vdm755 /etc/X11/tigervnc &&
install -v -m755 ../Xsession /etc/X11/tigervnc
接下来,在/etc/tigervnc/vncserver.users中设置一个用户映射。这将告诉VNC服务器哪个会话分配给用户。
echo ":1=$(whoami)" >> /etc/tigervnc/vncserver.users
接下来,设置一个配置文件来告诉vncserver应该使用哪个桌面环境以及应该使用什么显示几何图形。该文件中还可以定义其他几个选项,但它们超出了BLFS的范围。
install -vdm 755 ~/.vnc &&
cat > ~/.vnc/config << EOF
# Begin ~/.vnc/config
# The session must match one listed in /usr/share/xsessions.
# Ensure that there are no spaces at the end of the lines.
session=LXDE
geometry=1024x768
# End ~/.vnc/config
EOF
启动VNC服务器,执行如下命令:
systemctl start vncserver@:1
系统启动时启动VNC服务器,执行如下命令:
systemctl enable vncserver@:1
内容
安装程序: Xvnc, vncconfig, vncpasswd, vncserver, vncviewer, 和 x0vncserver
安装库: libvnc.so
安装目录: /usr/share/doc/tigervnc-1.13.0
简要描述
Xvnc 是一个X VNC(虚拟网络计算)服务器。它基于一个标准的X服务器,但它有一个“虚拟”屏幕,而不是物理屏幕。
vncconfig 是一个配置和控制VNC服务器的程序。
vncpasswd 设置访问VNC桌面的密码。
vncserver 是一个perl脚本,用于启动或停止VNC服务器。
vncviewer 用于连接VNC桌面的客户端。
x0vncserver 是一个程序,使X显示在物理终端上可通过TigerVNC或兼容的阅读器访问。
41.13 Transmission-4.0.1
简介Transmission
Transmission是一个跨平台、开源的BitTorrent客户端。这对于下载大文件(如Linux ISOs)很有用,减少了发行商提供服务器带宽的需求。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://github.com/transmission/transmission/releases/download/4.0.1/transmission-4.0.1.tar.xz
-
下载 MD5 校验和: 29521f4373900a3077849e41b16801f9
-
下载大小: 10 MB
-
预计所需磁盘空间: 202 MB
-
预计构建时间: 1.4 SBU (具有GTK gui接口;使用并行度=4) 5 SBU用于GTK和QT5
Transmission依赖
必要
推荐
libevent-2.1.12 和 libpsl-0.21.2 (使用系统库而不是打包的库)
推荐 (构建GUI)
可选
nodejs-18.14.1 (用于构建web客户端,在运行时不需要), appindicator, dht, libb64, libdeflate, libnatpmp, libutp, 和 miniupnp
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/transmission
安装Transmission
运行以下命令安装Transmission:
mkdir build &&
cd build &&
cmake -DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_DOCDIR=/usr/share/doc/transmission-4.0.1 \
.. &&
make
现在,作为root用户:
make install
因为transmission.png似乎没有,所以从svg创建它:
rsvg-convert \
/usr/share/icons/hicolor/scalable/apps/transmission.svg \
-o /usr/share/pixmaps/transmission.png
命令解释
-DENABLE_QT=OFF: 此开关禁用构建Qt5客户端。如果安装了Qt-5.15.8,则默认构建它。
-DENABLE_GTK=OFF: 此开关禁用构建GTK+-3 cli客户端。默认是构建它Gtkmm-3.24.7。
-DENABLE_WEB=OFF: 此开关禁用构建web客户端。如果安装了nodejs-18.14.1,则默认构建它。
内容
安装程序: transmission-cli, transmission-create, transmission-daemon, transmission-edit, transmission-gtk 或 transmission-qt, transmission-remote, 和 transmission-show
安装库: None
安装目录: /usr/share/transmission (包含web客户端,可选) 和 /usr/share/doc/transmission-4.0.1
简要描述
transmission-cli 是一个轻量级的、具有脚本功能的命令行BitTorrent客户端。
transmission-create 是一个用于创建.torrent文件的命令行工具。
transmission-daemon 是一个基于守护进程的传输会话,可以通过来自传输的web界面或 transmission-remote 的RPC命令来控制。
transmission-edit 是一个命令行实用程序,用于修改.torrent文件的宣布url。
transmission-gtk 是一个GTK+ bittorrent客户端。
transmission-qt 是一个Qt bittorrent客户端。
transmission-remote 是一个用于传输守护进程和传输的远程控制实用程序。
transmission-show 是一个显示bittorrent .torrent文件元数据的命令行工具。
41.14 xarchiver-0.5.4.20
简介xarchiver
XArchiver是一个GTK+归档管理器,支持tar、xz、bzip2、gzip、zip、7z、rar、lzo和许多其他归档格式。
该软件包在LFS 11.3平台上可以正常构建和工作。
注意
Xarchiver只是tar和zip等归档实用程序的命令行或图形界面。
包信息
-
下载 (HTTP): https://github.com/ib/xarchiver/archive/0.5.4.20/xarchiver-0.5.4.20.tar.gz
-
下载 MD5 校验和: 95c0e8a727faad16122d59889c105210
-
下载大小: 1.1 MB
-
预计所需磁盘空间: 10 MB
-
预计构建时间: 0.1 SBU
xarchiver依赖
必要
可选 (运行时)
cpio-2.13, LZO-2.10, p7zip-17.04, UnRar-6.2.6, UnZip-6.0, 和 Zip-3.0
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/xarchiver
安装xarchiver
运行以下命令安装xarchiver:
./configure --prefix=/usr \
--libexecdir=/usr/lib/xfce4 \
--docdir=/usr/share/doc/xarchiver-0.5.4.20 &&
make
这个包没有附带测试套件。
现在,作为root用户:
make install
注意
这个包将图标文件安装到/usr/share/icons/hicolor层次结构中,将桌面文件安装到/usr/share/applications层次结构中。你可以通过更新/usr/share/icons/hicolor/index.theme和/usr/share/applications/mimeinfo.cache来提高系统性能和内存使用率。要执行更新,您必须安装GTK+-2.24.33 或 GTK+-3.24.36(用于图标缓存)和desktop-file-utils-0.26(用于桌面缓存)并以root用户身份发出以下命令:
gtk-update-icon-cache -qtf /usr/share/icons/hicolor &&
update-desktop-database -q
命令解释
--libexecdir=/usr/lib/xfce4: 这个开关修复了thunar-archive-plugin的位置,所以如果安装了thunar-4.18.4,它就会工作。
--disable-gtk3: 此开关允许针对GTK+2进行构建,或者在安装GTK+2时使用--disable-gtk2强制针对GTK+3进行构建。
内容
安装程序: xarchiver
安装库: None
安装目录: /usr/lib/xfce4/thunar-archive-plugin, /usr/share/doc/xarchiver-0.5.4.20, 和 /usr/share/pixmaps/xarchiver
简要描述
xarchiver 是一个GTK+归档管理器。
41.15 xdg-utils-1.1.3
简介xdg-utils
Xdg-utils是一组命令行工具,可以帮助应用程序完成各种桌面集成任务。它是符合Linux标准库(LSB)的必需。
警告
从版本1.1.0rc1开始的所有xdg-utils版本在处理mailto: URIs时都存在安全漏洞。攻击者可能会向受害者发送一个URI,该URI会自动将敏感文件附加到新电子邮件中。如果受害者用户没有注意到添加了附件并发送了电子邮件,这可能会导致敏感信息泄露。
为了减轻这个缺陷,要么根本不使用mailto链接,要么总是在发送电子邮件之前再三检查用户界面是否有不想要的附件,特别是当电子邮件是由单击mailto链接产生的时候。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://portland.freedesktop.org/download/xdg-utils-1.1.3.tar.gz
-
下载 MD5 校验和: 902042508b626027a3709d105f0b63ff
-
下载大小: 296 KB
-
预计所需磁盘空间: 3.2 MB (有测试)
-
预计构建时间: 0.3 SBU (有测试)
xdg-utils依赖
必要
xmlto-0.0.28 与 Lynx-2.8.9rel.1, Links-2.28, 或 W3m 其中之一。
必要 (运行时)
可选 (运行时)
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/xdg-utils
安装xdg-utils
使用以下命令编译xdg-utils:
./configure --prefix=/usr --mandir=/usr/share/man &&
make
当心
对脚本的测试必须从基于X-Window的会话进行。运行测试有几个运行时需求,包括浏览器和MTA。不建议以root用户运行测试。
要运行测试,请执行以下命令: make -k test.
现在以root用户的身份安装它:
make install
内容
安装程序: xdg-desktop-menu, xdg-desktop-icon, xdg-mime, xdg-icon-resource, xdg-open, xdg-email, xdg-screensaver, xdg-settings
安装库: None
安装目录: None
简要描述
xdg-desktop-menu 是(un)installing 桌面菜单项的命令行工具。
xdg-desktop-icon 是一个命令行工具,用于(un)installing桌面上的图标。
xdg-mime 是一个命令行工具,用于查询文件类型处理信息和为新文件类型添加描述。
xdg-icon-resource 是(un)installing图标资源的命令行工具。
xdg-open 在用户首选的应用程序中打开一个文件或URL。
xdg-email 打开用户首选的电子邮件编写器,以便发送邮件消息。
xdg-screensaver 是一个命令行工具,用于控制屏幕保护程序。
xdg-settings 是一个命令行工具,用于管理桌面环境中的各种设置。
41.16 XScreenSaver-6.06
简介XScreenSaver
XScreenSaver包是X Window系统的模块化屏幕保护程序和储物柜。它是高度可定制的,允许使用任何可以在根窗口上绘制作为显示模式的程序。XScreenSaver的目的是在不使用时在屏幕上显示漂亮的图片,这与无人值守的显示器应该总是做一些有趣的事情的理念相一致,就像它们在电影中所做的那样。然而,XScreenSaver也可以用作屏幕锁,以防止其他人在您离开时使用您的终端。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://www.jwz.org/xscreensaver/xscreensaver-6.06.tar.gz
-
下载 MD5 校验和: 7e9437089cc8162a3cf9ff335633faed
-
下载大小: 25 MB
-
预计所需磁盘空间: 255 MB
-
预计构建时间: 0.3 SBU (使用并行数=4)
XScreenSaver依赖
必要
GTK+-3.24.36, libglade-2.6.4, 和 Xorg Applications
推荐
可选
GDM-43.0, Linux-PAM-1.5.2, MIT Kerberos V5-1.20.1, 和 GLE
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/xscreensaver
安装XScreenSaver
运行以下命令安装XScreenSaver:
./configure --prefix=/usr &&
make
这个包没有附带测试套件。
现在,作为root用户:
make install
命令解释
--with-setuid-hacks: 这个开关允许一些demo安装setuid root,这是ping其他主机所需要的。
配置XScreenSaver
配置文件
/etc/X11/app-defaults/XScreenSaver 和 ~/.xscreensaver
Linux PAM配置
如果XScreenSaver是在Linux PAM支持下构建的,则需要创建一个PAM配置文件,以便使其与BLFS一起正确工作。
以root用户身份发出以下命令,为Linux PAM创建配置文件:
cat > /etc/pam.d/xscreensaver << "EOF"
# Begin /etc/pam.d/xscreensaver
auth include system-auth
account include system-account
# End /etc/pam.d/xscreensaver
EOF
内容
安装程序: xscreensaver, xscreensaver-command, xscreensaver-demo, 和 xscreensaver-settings
安装库: None
安装目录: /usr/libexec/xscreensaver 和 /usr/share/xscreensaver
简要描述
xscreensaver 是一个屏幕保护程序和锁守护程序。
xscreensaver-command 通过发送客户端消息来控制一个正在运行的xscreensaver进程。
xscreensaver-demo 是指向xscreensaver-settings的符号链接。
xscreensaver-settings 是一个图形化的前端,用于设置后台xscreensaver守护进程使用的参数。