我最近安装了 Arch Linux,发现我正在以相对较快的速度消耗大量存储空间。无论出于何种原因,我已经在大约 2 周内使用了 17GB。我没有安装很多软件,所以我相信所有旧包都在某处维护。
为了支持这一点,我注意到如果我安装了一个软件包,删除该软件包,然后重新安装它,pacman 只需解压缩并重新安装软件,而无需重新下载它。
在我安装了我的基本系统之后,在额外的软件之前,我使用了大约 2GB 左右。从那以后,我只安装了 Matlab、Skype、Wine 和其他一些小程序。当然,我也安装了缺少的库等,但价值不到 15GB。
我在这里完全错了还是 Arch 在下载/升级到新版本时从不删除旧包?
如果是这样,我如何删除这些未使用的包?
另外,当我删除已安装的软件包时,我使用 pacman -R ...
我有一个通过 USB 向我的计算机发送信息的设备。Arch Linux的创建一个名为文件设置该设备ttyUSB0在/dev/。我一直在使用GTKterm接收这些传入信息并将其显示在模拟终端窗口中。
我的问题是,究竟如何GTKterm读/写这个ttyUSB0文件,我可以从哪里开始学习如何实现类似的功能?也就是说,在最基本的形式中,我如何将字符写入ttyUSB0,或者相反,接收一个字节并将其写入文件?
我最近购买了一个背光键盘,它的设计使得使用 Scroll Lock 键来切换背光。我很快发现 Cinnamon 在按下 Scroll Lock 键时没有正确响应。最初,我认为键盘背光是 DOA,因为其他一切都是开箱即用的。重新启动后,我发现在启动 Xorg 之前,我能够使用 Scroll Lock 键成功切换背光。然后,在启动 Xorg(以及随之而来的 cinnamon_session)后,这个功能再次停止工作。
为了在启动 Xorg 后让背光工作,我被迫发出一个:xset led named "Scroll Lock"来启用和禁用此功能。
经过一番研究,我发现了一个名为的程序xev,它在启动后将关键事件信息转储到终端。按下 Scroll Lock 键后,终端将填充以下信息:
KeyPress 事件,serial 34,合成 NO,window 0x2c00001,root 0x2df,subw 0x0,time 2609824,(410,0),root:(1724,142),state 0x0,keycode 78 (keysym 0xff14,_screen_YES,same) XLookupString 给出 0 个字节:XmbLookupString 给出 0 个字节:XFilterEvent 返回:False
KeyRelease 事件,serial 37,合成 NO,window 0x2c00001,root 0x2df,subw 0x0,时间 2609912,(410,0),root:(1724,142),state 0x0,keycode 78(keysym 0xff14,same_screenLock,YES) XLookupString 给出 0 个字节:
所以我知道关键事件正在发送到内核。
此外,有趣的是,我在终端中(仍然在启动 Xorg 或 Cinnamon 之前)和使用 Scroll Lock 时观察到了奇怪的行为。也就是说,此时我的背光按预期切换,但是当启用 Scroll Lock 时,我输入的任何内容都不会写入屏幕。禁用 Scroll …
为了提供一些背景知识,我几乎只在笔记本电脑上使用扩展坞。我有几台显示器连接到扩展坞,在这种配置下,我的笔记本电脑总是关闭。此外,由于笔记本电脑已关闭,我还在显示管理器中禁用了显示器。
问题是,如果我从扩展坞中取出笔记本电脑,显示器将保持关闭状态。如果我在删除之前暂停了操作系统,这往往会发生。它只是有时发生,使事情变得更加困难,并且我没有关于可能导致它的任何可能触发器的信息,因为我无法在这种状态下访问机器。我还没有 ssh 进入它。但是,在此状态下,我可以将笔记本电脑重新安装到扩展坞并按预期驱动外接显示器。
Mint 中是否存在此类问题?
tl;dr 有没有办法通过命令行重新启用笔记本电脑的主(集成)显示器?我可能会将此绑定到某种组合键或 udev 规则。
编辑
xrandr 未连接外部监视器并与扩展坞脱离的输出
Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 32767 x 32767
eDP1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 344mm x 193mm
1920x1080 60.0*+ 59.9 48.0
1680x1050 60.0 59.9
1600x1024 60.2
1400x1050 60.0
1280x1024 60.0
1440x900 59.9
1280x960 60.0
1360x768 59.8 60.0
1152x864 60.0
1024x768 60.0
800x600 60.3 56.2
640x480 59.9
VGA2 disconnected (normal left inverted right x …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用位于 的 gtk /usr/include/gtk-3.0/gtk/ ..,但工具包中的所有头文件都有#include <gtk/gtk.h>.
除了添加/usr/local/gtk-3.0到PATH或添加gtk-3.0到所有包含的预处理器,没有一个有什么其他的选择这个?
我正在尝试按照本指南格式化 SD 卡。我能够成功创建分区表,但尝试使用 mkfs 格式化 Linux 分区会产生以下输出:
mke2fs 1.42.9 (4-Feb-2014)
Discarding device blocks: 4096/1900544
Run Code Online (Sandbox Code Playgroud)
它似乎无限期地挂起。我已经让这个过程运行了一段时间,但没有任何变化。如果我弹出 sdcard,则 mkfs 将预期的输出写入终端:
mke2fs 1.42.9 (4-Feb-2014)
Discarding device blocks: failed - Input/output error
Warning: could not erase sector 2: Attempt to write block to filesystem resulted in short write
warning: 512 blocks unused.
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
476064 inodes, 1900544 blocks
95026 blocks (5.00%) reserved for the super user
First data …Run Code Online (Sandbox Code Playgroud) 我已成功在嵌入式设备上启用安全启动。问题是,当我以这种模式启动时,该过程似乎在该行之后卡住了:
Starting kernel ...
一旦 U-boot 将内核复制到内存中并发出bootm命令。
在调试器中,我能够捕捉到 PC 卡在一条yield指令上,然后是分配给pc = pc-4- 所以本质上是一个循环。
我以前从未在如此低的水平上提出过 linux,所以我不确定从哪里开始寻找。不过,我确实注意到,我能够在非安全模式下成功启动内核映像,因此这对供应商来说可能是一个更合适的问题。
1) 一般来说,在哪里可以找到有关执行切换阶段的 U-boot 诊断信息?
2)在什么时候执行完全交给内核?即 U-boot 何时失效?
一些任意帐户和root?之间的根本区别是什么?它只是UID零以外的存在吗?
那么,su二进制文件究竟做了什么以及它如何将用户提升为 root 用户?我知道用户必须首先sudo通过我们在/etc/sudoers.
# User privilege specification
root ALL=(ALL:ALL) ALL
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
Run Code Online (Sandbox Code Playgroud)
查看su可执行文件的权限,我们发现-rwsr-xr-x或4755(即已setuid设置)。
是su二进制文件读取此配置文件并检查请求 root 权限的用户是否属于组sudo或admin?如果是这样,假设用户是预期组的一部分并且知道尝试替换的适当用户的密码(特别是 .例如root ),二进制文件是否会以 root 身份生成另一个 shell(考虑setuid位)?
tl;dr 特权提升行为是否依赖于su …
我最近购买了一个背光键盘,需要滚动锁定来切换灯光。我很快遇到了一些问题,可以通过一些简单的 bash 命令来解决 - 请参阅此线程。
简而言之,我发现解决此问题的命令是:
xset led named "Scroll Lock"
Run Code Online (Sandbox Code Playgroud)
启用 Scroll Lock(并打开灯),并且
xset -led named "Scroll Lock"
Run Code Online (Sandbox Code Playgroud)
禁用 Scroll Lock 并关闭灯。
如果我想在收到 Scroll Lock 键事件且 (Scroll Lock) 功能关闭时发出前一个命令,而在其他情况下发出后者,可以使用哪些选项?那是,
if(ScrollLockIsEnabled)
systemCommand('xset -led named "Scroll Lock");
else
systemCommand('xset led named "Scroll Lock"`);
Run Code Online (Sandbox Code Playgroud)
或者类似的。
我在想,至少,也许做某种 Bash 脚本来保存一个变量(如果可能的话),让我保留 Scroll Lock 的最后状态。然后我可以使用xbindkeys(根据用户输入的关键事件发出命令)执行此脚本。
我首先通过研究 的参数发现这一点,earlycon但发现 的选项console看起来几乎相同。两者均如下所示,并取自此来源:
从文档中console我们有:
console= [KNL] Output console device and options.
tty<n> Use the virtual console device <n>.
ttyS<n>[,options]
ttyUSB0[,options]
Use the specified serial port. The options are of
the form "bbbbpnf", where "bbbb" is the baud rate,
"p" is parity ("n", "o", or "e"), "n" is number of
bits, and "f" is flow control ("r" for RTS or
omit it). Default is "9600n8".
See Documentation/serial-console.txt for more
information. See
Documentation/networking/netconsole.txt for …Run Code Online (Sandbox Code Playgroud) 我想将一个设备连接到互联网, a Roku player,它有自己的MAC地址。
我目前有权访问的网络要求我在连接到 Internet 之前使用我的凭据登录。这个过程是这样的,当你第一次尝试访问一个网站时,你会被转到一个“登录”页面,在那里你输入你的凭据。
问题是Roku player没有浏览器,我可以用它来做这一步。因此,当我尝试使用该设备时,它只是坐着。
即使我已连接到 Internet,我也无法通过路由器访问它。所以我想它可能会起作用,如果我用我的笔记本电脑将我的MAC地址欺骗到我的特定地址Roku player并以这种方式登录以注册此设备。
这行得通吗?如果是这样,我该怎么做?
有时我只需要从串行设备读取,所以我跳过了minicomorscreen和 just的复杂性cat。但是,这仅在我stty <baud>尝试打开文件之前首先设置终端的波特率时才有效。
该数据可能已经(或可以)缓存在内核中,在这种情况下,是使用UART 到 USB 桥接器接收的。USB 传输速率对于给定标准是固定的,因此设置波特率只会影响数据的解释。鉴于我对这些数据在 USB 数据包中的外观缺乏了解,我不确定如何以某个固定读取速率(波特率)可视化 USB 数据包数据的“解释”。
$ stty 115200
$ cat /dev/ttyACM0
Run Code Online (Sandbox Code Playgroud)
这里到底发生了什么?我了解此设置在硬件中的含义,但它在用户空间软件中意味着什么?
arch-linux ×4
linux ×2
uart ×2
usb ×2
arm ×1
boot ×1
cinnamon ×1
compiling ×1
devices ×1
display ×1
dock ×1
embedded ×1
ext4 ×1
gtk ×1
header-file ×1
internet ×1
kernel ×1
linux-kernel ×1
linux-mint ×1
mac-address ×1
make ×1
mkfs ×1
pacman ×1
path ×1
root ×1
router ×1
sd-card ×1
security ×1
setuid ×1
spoofing ×1
stty ×1
su ×1
tty ×1
u-boot ×1
xorg ×1