我主要来自 Fedora 和 Archlinux,我曾经在合理的时间内拥有最新的 libinput。目前,在 ubuntu 18.04 上,在我的机器上写作时,我看不到如何拥有最新的 libinput,例如 1.12。是否有 ppa 或是否有人尝试从源代码安装它而不会弄乱整个系统?
我不介意编译它,但我在测试它和确保它与其他包正确结合工作方面没有受过良好的教育。拥有 ThinkPad TrackPoint 我有点觉得拥有最新的 libinput 是至关重要的!
希望有一天有人会用最新的 libinput 制作 PPA。在此之前,这里是有关您自己构建此类包的说明。
\n很简单,说明主要取自这里。我假设您不需要生成文档,因此我不会为它们安装依赖项并在meson调用中禁用它们。这也很--prefix重要usr,因此库安装到标准位置。
$ sudo apt install -y git ninja-build python3-pip\n$ sudo apt build-dep libinput\n$ sudo pip3 install meson\nRun Code Online (Sandbox Code Playgroud)\n注意:虽然 Meson 位于 Ubuntu 存储库中,但在代码片段中它是通过 pip 安装的。原因是:由于 Ubuntu 主要提供古老的软件,因此它们的 Meson 版本可能太旧而无法构建 libinput。已知 ATM Ubuntu 18.04 存在此问题,但我认为随着时间的推移,其他版本也可能会出现此问题。
\n$ git clone https://gitlab.freedesktop.org/libinput/libinput\n$ cd libinput\n$ meson --prefix=/usr -Ddocumentation=false build/\n$ ninja -C build/\nRun Code Online (Sandbox Code Playgroud)\n虽然安装内置 libinput 的最简单方法是运行ninja -C build install,但我强烈建议您这样做,除非您知道自己在做什么(您将在整个系统中获得未跟踪的文件,这些文件可能会在系统更新时被覆盖,并且根据情况甚至可能会中断完全libinput)。
相反,使用我编写的这个脚本来组装包。
\n$ wget https://gist.githubusercontent.com/Hi-Angel/45030ab89a2378b42511612cbe48d247/raw/package-deb-libinput.sh\n[\xe2\x80\xa6]\n$ bash ./package-deb-libinput.sh build/\n[\xe2\x80\xa6]\ndpkg-deb: building package \'libinput-git\' in \'libinput_1.15.3-212-g60edbd2d.deb\'.\nRun Code Online (Sandbox Code Playgroud)\n您可以在脚本输出中看到新包的名称,因此剩下的就是安装它(注意:./需要路径中的部分才能将apt参数正确解释为本地文件):
$ sudo apt install -y ./build/libinput_1.15.3-212-g60edbd2d.deb\nRun Code Online (Sandbox Code Playgroud)\n要使用已安装的 libinput,您需要重新启动图形会话(例如重新启动)。
\n您可能希望找回发行版提供的 libinput,只需安装libinput10软件包(它将替换libinput-git):
$ apt install -y libinput10\nRun Code Online (Sandbox Code Playgroud)\n如果 github gist 发生问题,以下是脚本的当前内容:
\n#!/bin/bash\nset -e\n\nif [ "$#" -ne 1 ]; then\n echo "Wrong number of parameters.\nUsage: $(basename $0) build_dir"\n exit 1\nfi\n\nMESON_BUILD_ROOT=$(readlink -f $1)\nPACKAGE_VERSION=$(grep -Po \'LIBINPUT_GIT_VERSION.*"\\K.+(?=")\' "$MESON_BUILD_ROOT"/libinput-git-version.h)\nPKG_DIR="$MESON_BUILD_ROOT"/deb\nmkdir -p $PKG_DIR/DEBIAN/\ncat > $PKG_DIR/DEBIAN/control <<- END_OF_TEXT\nPACKAGE: libinput-git\nVersion: $PACKAGE_VERSION\nArchitecture: amd64\nMaintainer: Mystique Packager\nDescription: input device management and event handling library\nDepends: libevdev2, libmtdev1, libudev1, libwacom2\nConflicts: libinput10, libinput-bin, libinput-dev, libinput-tools\nProvides: libinput10, libinput-bin, libinput-dev, libinput-tools\nHomepage: https://gitlab.freedesktop.org/libinput/libinput\nEND_OF_TEXT\n\ncd "$MESON_BUILD_ROOT"\nDESTDIR=$PKG_DIR ninja install\nfakeroot dpkg-deb --build $PKG_DIR/ libinput_$PACKAGE_VERSION.deb\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
2135 次 |
| 最近记录: |