Unix & Linux

Linux,FreeBSD和其他类似Un * x的操作系统用户的问答

3
如何准备好已就绪的systemd服务标志,以便其他服务可以在启动之前等待其就绪?
我有一堆服务(例如C0,C1… C9),这些服务只能在一个服务S完成其初始化并完全运行并为其他服务做好准备后才能启动。如何用systemd安排呢? 在systemd中使用路径激活和目标订购服务中,假定服务S具有一种写出某种标记文件的机制。相反,在这里假设我对服务S运行的程序拥有完全控制权,并且可以在需要时向其中添加systemd机制。
8 systemd 

2
如何暂停VIM历史记录?
编辑文件时,通常通常连续执行很多UNDO,例如20次。在VIM中,通常通过按u20次来执行此操作,这会使VIM在历史记录堆栈中的20个位置“向上”移动。如果您随后确定change,则最后20条历史命令将全部丢失,并由代替change。我想change不失去这20个职位。因此,我想我想告诉VIM在我之前停止记录历史,然后在change以后恢复历史记录(不想change在历史记录中)。 编辑 试图变得更加清晰:我有一个函数FF,在写入缓冲区时会更新文件的最后几行。因此,如果我执行20 undos + write,最后一个write将打开一个新的撤消分支。我尝试undojoin在里面添加内容FF(尝试遵循下面的jlmg的建议),但是序列write-undo-write给出了一个错误:undo之后不允许使用undojoint。我可以sed ....在离开后改为执行一些操作vim,但是由于我是通过使用此方法,SSH所以我更喜欢仅使用vim的解决方案(在卸载缓冲区后执行命令不会写入文件)。 编辑2尝试在VIM中执行此操作:打开一个空白文件,然后执行以下操作: i1<ESC>:wa2<ESC>:wa3<ESC>:wa4<ESC>uu:w 如果现在执行a <CTRL>R,则VIM将写回3,再进一步<CTRL>R输入4。即使:w每次都执行一次,也会发生这种情况<CTRL>R。但是,如果每次:w执行a 时,您都通过执行功能BufWritePre,<CTRL>R则不会写3回。这就是我想要做的,这就是为什么我写了“暂停历史记录”的原因,但是也许我要问的是不可能的,除了处理全部内容undotree()。
8 vim 


3
如何通过X11使用完整的图形桌面远程登录
我有两台都在运行kubuntu的机器:服务器和客户端。我想从客户端连接到服务器并启动完整的图形界面,而不必担心某些命令将以客户端用户身份运行。 因此,ssh -XC工作正常,我也可以从中启动图形程序。 但是,当我startkde在ssh控制台中键入内容时,它会显示“ KDE似乎已在此显示器上运行”。这是正确的,但不适用于同一用户帐户。 我尝试退出图形界面并从tty登录,但是(毫无疑问)未能启动任何图形程序,包括kde。 那我该怎么做,这样我就可以像使用本地用户登录一样简单地登录?使用客户端计算机作为哑终端。

3
Fedora 25默认不使用Wayland!
由于某些原因,我的Fedora 25 FRESH安装默认情况下不使用Wayland。我知道这是因为 $: loginctl show-session 3 -p Type Type=x11 如果我默认使用Wayland,则应该说Wayland或weston。我很困惑,为什么默认情况下全新安装的fedora 25不支持Wayland。我简要浏览了Arch Wiki,并尝试通过发布测试运行Wayland $: weston 另外,我将fedora重新引导到multiuser.target,以获取仅一个命令行来手动启动Wayland的dbus-run-session,这是输出: $: dbus-run-session -- gnome-shell --display-server --wayland (gnome-shell:1372): mutter-WARNING **: Can't initialize KMS backend: could not find drm kms device 然后我尝试了: $: startx 我的标准gnome桌面弹出没有问题。我很想知道fedora 25 live installer是否曾经安装过Wayland? 在查找Wayland配置文件weston.ini之后,我无法在〜/ .config /中找到它。 系统信息: $:uname -a Linux sark …
8 linux  fedora  x11  wayland 

6
将一列中的所有值替换为1
我有多个包含12行和3列的文本文件。 例: 2 6 0.74 42 6 0.58 80 6 0 112 6 0.24 132 6 1 216 6 0.7 342 6 0 390 6 0.21 432 6 0.56 466 6 0.75 524 6 0.6 646 6 0.9 我想在所有行中将第三列的所有值设置为1。 输出应如下所示: 2 6 1 42 6 1 80 6 1 112 …



2
以编程方式安全地更改Linux内核配置
我正在编写一个脚本,该脚本必须根据输入文件自动更改许多Linux内核配置选项。 当然,最简单的方法是直接编辑.config文件,但是不建议这样做,并且可能会引起问题。 不过,我似乎找不到找到这种“正确方法”的方法。 “ make help”没有显示更改单个选项的方法,./scripts/kconfig/conf --help也没有。kernel.org上的此文件似乎也没有办法。 甚至Gentoo的Genkernel也会手动更改 .config文件。 因此,基本上: 是否存在一种安全的方法来以编程方式更改内核配置选项,并完成依赖项跟踪等? 可以手动运行Kconfig来实现吗?

1
以编程方式将特定程序的音频输出重定向到文件
我想在命令行上将程序的音频输出重定向到文件,例如在 $ redirect-wrapper file.wav my-program 以便 我听不到程序的输出,即输出只应转到文件 除了程序之外,我什么都没记录,即只有该特定程序被重定向到文件 音频系统的其余部分完全不受干扰,没有来回更改任何配置选项或类似的操作 有没有办法做到这一点?此相关的问题并没有帮助,我需要一个命令行的解决方案,也没有“点击那里,再有”。这可能也是相关的,但也依赖于图形应用程序pavucontrol。我找到了pavucontrol,pacmd的终端替代品。 但这仍然只能使以下折衷成为可能: 获取默认接收器并保存它是什么。怎么样?大概通过pacmd list-sinks 使用将默认接收器设置为snd-aloop接收器pacmd set-default-sink。 从该接收器记录。 启动程序 等待应用程序打开其接收器输入:pacmd list-sink-inputs | grep name-of-my-program如果找到接收器,则输入已打开。 将默认值改回原来的状态pacmd set-default-sink。 应用程序关闭后,停止记录。 但这仍会更改默认接收器长达几分钟的时间(接收器输入通常不会打开,直到程序实际播放声音后才启动它)。我实施了这个折衷方案;Github。 仍在寻找不妥协的答案。

1
GRUB密码盘的奇怪错误密码行为
我已经使用GRUB_ENABLE_CRYPTODISK=y在/etc/default/grub允许的一切陆氏加密除了我的EFI分区,我安装到/boot/efi。这很好。唯一可以承认的小问题是,如果我碰巧输入了错误的密码,就不会再有机会了。相反,大约10秒钟后,我被GRUB rescue>提示。是否可以在此提示符下键入任何内容以重试,还是必须关闭电源然后再打开?
8 grub2  luks 


1
无法编译内核:错误,内核不支持PIC模式
我在重新编译内核时遇到麻烦。下载源程序包,解压缩并运行 fakeroot make-kpkg kernel_image 把我引向错误 [...] CHK include/generated/utsrelease.h UPD include/generated/utsrelease.h CHK include/generated/package.h UPD include/generated/package.h CC kernel/bounds.s kernel/bounds.c:1:0: error: code model kernel does not support PIC mode 可以通过更改通过获得的内核配置来解决该问题make menuconfig。 如何摆脱这个错误并成功编译

4
肮脏的COW漏洞CVE-2016-5195
今天早上,我们发现了这个漏洞。CVE-2016-5195我们如何修补CentOS内核?有可用的补丁程序吗? http://www.cyberciti.biz/faq/dirtycow-linux-cve-2016-5195-kernel-local-privilege-escalation-vulnerability-fix/

2
命令在80个字符后换行
minicom连接到Yocto Linux计算机的串行控制台时遇到麻烦的问题。 我输入的命令在第80个字符后环绕在同一行。使用起来非常不便。我在该行开头输入的所有内容都会被该行的最后一个字符覆盖。 与同一台计算机的SSH连接可以正常工作。在第80个字符之后,ssh转到下一行。 这是stty设置: stty -a speed 115200 baud; rows 24; columns 80; line = 0; intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.