小编ill*_*out的帖子

使用 Shift-PageUp 在 gnu 屏幕中向上翻页

在 Linux 终端中,按键序列 Shift-PageUp 通常可用于向上滚动。

但是,当通过 ssh 连接到特定机器时,此键序列在 gnu 屏幕中似乎不起作用。

我有两个问题。1) 这个键序列是在哪里定义的?2) 我可以在我的屏幕设置中更改什么以始终允许这样做?

这与 termcap 条目有关吗?

我目前正在使用三台机器。当按下 Shift-PageUp 时,其中两个将向上滚动缓冲区。一台机器根本不会响应按键。

工作机器:

  • Centos 6.5
  • Centos 5.9

不工作的机器:

  • Centos 5.9

这是我在所有三台机器上都使用的 .screenrc

termcapinfo xterm|xterms|xs|rxvt ti@:te@

term screen-256color

hardstatus on
hardstatus alwayslastline
hardstatus string "%{= wb}%-w%{.yb}%n %t%{-}%+w %=%{b r} %H %{..b}[%l] %{..K}%C%a "

startup_message off

# turn off visual bell
vbell off

# Autodetach session on hangup instead of terminating screen completely
autodetach on 

# give more scroll back
defscrollback 20000

# turn on …
Run Code Online (Sandbox Code Playgroud)

termcap gnu-screen scrolling

12
推荐指数
1
解决办法
4493
查看次数

如何以编程方式获取 Bash 中新后台进程的作业 ID

在 Bash 中,如何以编程方式获取以 开头的作业的作业 ID &

可以在后台启动一个作业&,然后使用其作业 ID 和 Bash 内置命令(如 、 、 等)与其fg进行bg交互kill

例如,如果我开始像这样的工作

yes > /dev/null &
Run Code Online (Sandbox Code Playgroud)

然后我可以使用以下命令杀死它(假设该作业获取作业 ID 1):

kill %1
Run Code Online (Sandbox Code Playgroud)

使用 创建新作业时&,如何以编程方式获取新创建作业的作业 ID?


我知道你可以使用 获取进程 id(不是作业 id)$!,但我特别想知道如何获取作业 id。

bash job-control

10
推荐指数
1
解决办法
1562
查看次数

如何在 NixOS 中查找系统范围内安装了哪些软件包?

是否有一个命令可用于确定在 NixOS 中系统范围内安装了哪些软件包?

例如,我可以列出为当前用户安装的软件包nix-env -q。我不知道有什么方法可以从/etx/nixos/configuration.nix.


我想使用两个单独的实例:

  1. 假设我向/etc/nixos/configuration.nixin添加了一个包environment.systemPackages,但我忘记了我是否已经运行nixos-rebuild switch了。如果有一个我可以运行的命令来检查包是否在系统环境中,那就太好了。

  2. 我已经programs.bash.enableCompletion设置为truein /etc/nixos/configuration.nix。不看nixpkgs中的选项,我猜这个选项会设置bash-completion要安装的包。如果有一个我可以运行的命令来检查bash-completion包是否确实在系统环境中,那就太好了。

command-line configuration package-management nixos nix

7
推荐指数
1
解决办法
4679
查看次数