标签: rc

.exrc 和 .vimrc 有什么区别?

我从经验中知道 ~/.exrc 文件可用于配置vim. 我也知道 ~/.vimrc 文件可以用于相同的目的。

但是,如果我使用 .exrc 来配置vim,这会导致vi安装而不是vim. 即,vim支持vi不支持的额外功能;当您尝试在 中使用它们时vi,会vi抱怨。

我的问题是:

  1. .exrc 和 .vimrc 有什么区别?
  2. 如果两者都存在,那么两者都使用吗?
  3. 使用 .exrc 文件进行配置是不好的做法vim吗?

vim vi rc

15
推荐指数
1
解决办法
1万
查看次数

为什么我们要守护进程?

我已经阅读并了解您如何创建守护进程,但是从我阅读的所有内容中,我从未真正理解为什么需要这样做。

我读过我们使用 fork-setid-fork 来避免获得终端控制权的过程,但这意味着什么?如果我在后台使用 & 启动一个程序(例如 './script &' ),是什么让这个进程的执行与我正常运行一个将自身变成守护进程的程序不同?

这是否仅仅意味着如果我注销后台进程将停止并且守护程序将继续运行?我真的很难理解“获得终端控制权”这件事。

这困扰我的原因是因为我正在机器人上处理嵌入式 RPi,因此我需要让程序在启动时启动。目前我只是用这样的命令从 rc.local 启动它们su user -c 'python /home/user/launcher.py &' &。我在启动时启动程序从来没有遇到过任何问题(我ps -e什至可以看到通过SSH 连接到 RPi 时使用的过程),但我想知道是否有任何风险/这是否是不好的做法。

daemon rc

9
推荐指数
1
解决办法
7194
查看次数

通过 -c 传递命令时运行 .zshrc

我有一个通过zsh -c. 但是,在zsh运行时,它似乎没有加载~/.zshrc.

我知道存在登录 shell 标志,但甚至zsh -lc <command>似乎不起作用。

在运行它时,如何获取~/.zshrc 中定义的函数、别名和变量以填充它zsh -c

shell zsh rc

6
推荐指数
1
解决办法
2087
查看次数

用于将窗口拖动到屏幕边缘的 OpenBox 鼠标绑定

我正在尝试编辑lxde-rc.xml文件(在~/.config/openbox),以便我可以像在 Microsoft Windows 中一样实现窗口捕捉。当一个窗口被拖动到屏幕的右边缘时,它会最大化以填满屏幕的右半部分。我不想使用平铺 wm,而是编辑 openbox 的配置。我找到了可以使用键盘快捷键执行此操作的代码:

<!-- Fill left half of desktop -->
<keybind key="C-W-Left">
<action name="Unmaximize"/>
<action name="MoveResizeTo">
<x>0</x>
<y>0</y>
<height>99%</height>
<width>50%</width>
</action>
</keybind>
<!-- Fill right half of desktop -->
<keybind key="C-W-Right">
<action name="Unmaximize"/>
<action name="MoveResizeTo">
<x>-0</x>
<y>0</y>
<height>99%</height>
<width>50%</width>
</action>
</keybind>
Run Code Online (Sandbox Code Playgroud)

我当前(也是默认)配置将窗口拖到屏幕边缘时会将其移动到下一个桌面,因此配置文件中必须已经存在某种绑定。但是,配置文件中切换桌面的唯一操作是通过键盘快捷键和在桌面上滚动来调用的。

我有两个问题:

当窗口被拖动到屏幕边缘时,鼠标绑定会像什么一样切换动作,并且:

为什么该操作的当前行为未在 中引用lxde-rc.xml

提前致谢!

openbox tiling-wm lxde rc mouse-gestures

6
推荐指数
1
解决办法
3249
查看次数

在 Awesome Window Manager 中更改新客户端外观的方向

在以前版本的 Awesome WM 中,新客户端标题出现在以前客户端的右侧。因此,客户标题按出现顺序从左到右排列。

在新版本的 Awesome 中,此顺序颠倒了。烦人地退出,每个新客户名称都出现在旧客户的左侧。

如何使每个新客户的标题都显示在旧客户的右侧?

示例:有一个客户端 -- 互联网浏览器 -- 在当前工作区中打开。我按 MODKey+Enter,无论窗口布局如何,终端客户端的标题都会出现在 Internet 浏览器标题的左侧。就我个人而言,如果这个新的终端标题位于旧浏览器标题的右侧会更有意义。

awesome rc

6
推荐指数
1
解决办法
855
查看次数

如何在 OpenBSD 上使用 rcctl 正确启用 httpd 以使其自动启动?

在运行 OpenBSD 6.2 amd64 的 OpenBSD 机器上,无法使用 rcctl 启动 httpd:

# rcctl start httpd
httpd(failed)
Run Code Online (Sandbox Code Playgroud)

但是,当只输入 开始时httpd,它会起作用;但这不是要走的路,我想。/var/log/messages不包含任何提示,也不包含任何其他文件/var/log/

/etc/httpd.conf的比较简单:

server "default" {
        listen on * port 80
}
Run Code Online (Sandbox Code Playgroud)

/var/www存在并/var/www/htdocs包含手动启动时提供的文件。在中指定“root”/etc/httpd.conf无效。

我怎样才能httpd被自动启用/启动rcctl

openbsd daemon rc

6
推荐指数
2
解决办法
4201
查看次数

zsh:总是启用扩展glob有问题吗?

我最近遇到

setopt extended_glob
Run Code Online (Sandbox Code Playgroud)

...为了启用扩展的通配符,允许添加一些很酷的通配符,例如排除特定模式,例如:

ls ^foo*
Run Code Online (Sandbox Code Playgroud)

...将ls在当前目录中的每个路径上使用,除了匹配的模式foo*

我发现一个教程建议将其放入setopt extended_glob您的.zshrc.zsh 文件中,但我想由于许多 zsh 配置模板都忽略了该选项,并且默认情况下禁用了该选项,因此它有一些缺点甚至副作用吗?

或者总是extended_glob通过将它放在一个人的内部来启用它是绝对无害的.zshrc

zsh wildcards rc

6
推荐指数
1
解决办法
6238
查看次数

FreeBSD:如何将 python 脚本作为守护进程启动?

我遇到了一个 python 文件问题,我想将其作为服务启动。我将我的服务命名为 ocrserver,我想要启动的脚本位于 /home/administrator/ocr/ocrserver/ init .py 中,添加了一些参数,例如 --address --port 等...阅读FreeBSD 站点的文档后

我写了以下脚本:

#!/bin/sh

# $FreeBSD$
#
# PROVIDE: ocrserver 
# REQUIRE: NETWORK
# KEYWORD: shutdown

# add the following line to /etc/rc.conf to enable the ocrserver:
# ocrserver_enable="YES"

. /etc/rc.subr

name="ocrserver"
rcvar="ocrserver_enable"

# default values
: ${ocrserver_enable="NO"}

base_path="/home/administrator/ocr/ocrserver"

address="localhost"
http_port=8080
pyproxy_port=10800

log_level="debug"

pidfile="${base_path}/ocrserver.pid"

command="/usr/sbin/daemon"

# -p : daemon handler pidfile
# -f : redirect stdout and stderr to /dev/null
# -c : change working dir to root
command_args="-p …
Run Code Online (Sandbox Code Playgroud)

freebsd python rc

5
推荐指数
0
解决办法
3444
查看次数

Stow 不使用 rc 文件中给出的“忽略”选项

概括

--ignore=<regex>我放入的行.stowrc不起作用。运行 Stow 时,它显示“从 .stowrc 加载默认值”,但它没有任何效果。但是将--ignore=<regex>行传递给命令直接有效。

问题

假设这个目录:

user@user-machine:~/test-stow/stow$ tree -a
.
??? a
?   ??? car
??? .stowrc

1 directory, 2 files
Run Code Online (Sandbox Code Playgroud)

内容./.stowrc

--ignore='car'
Run Code Online (Sandbox Code Playgroud)

所以我的期望是,stow --verbose=3 a/在该目录中运行命令等同于stow --ignore='car' --verbose=3 a/./.stowrc文件不存在的情况下运行。

现在我运行:

user@user-machine:~/test-stow/stow$ stow --verbose=3 a
Loading defaults from .stowrc
stow dir is /home/user/test-stow/stow
stow dir path relative to target /home/user/test-stow is stow
cwd now /home/user/test-stow
cwd restored to /home/user/test-stow/stow
cwd now /home/user/test-stow
Planning stow of package …
Run Code Online (Sandbox Code Playgroud)

stow rc

5
推荐指数
1
解决办法
860
查看次数

如何在不覆盖默认值(如果存在)的情况下自定义 $PROMPT_COMMAND?

Mac 的终端带有默认PROMPT_COMMAND检查历史记录并更新当前工作目录(选项卡的标题):

添加echo $PROMPT_COMMAND到您的顶部,您.bash_profile将看到:

shell_session_history_check; update_terminal_cwd
Run Code Online (Sandbox Code Playgroud)

我想添加我自己的PROMPT_COMMAND而不覆盖默认值。默认值应该在我的自定义之前PROMPT_COMMAND,用分号和空格将两者分开。

请注意,某些程序(例如 IntelliJ 和 VS Code)没有默认值!所以我不想在这种情况下包含空格/分号。

shell bash bashrc rc

5
推荐指数
2
解决办法
1583
查看次数

标签 统计

rc ×10

daemon ×2

shell ×2

zsh ×2

awesome ×1

bash ×1

bashrc ×1

freebsd ×1

lxde ×1

mouse-gestures ×1

openbox ×1

openbsd ×1

python ×1

stow ×1

tiling-wm ×1

vi ×1

vim ×1

wildcards ×1