小编Mar*_*ter的帖子

使用 cp/rsync 保留扩展属性

复制 with 时cp,不会保留扩展属性,即使使用显式

cp -a --preserve=all /source /dest
Run Code Online (Sandbox Code Playgroud)

或者

cp -a --preserve=xattr /source /dest
Run Code Online (Sandbox Code Playgroud)

同理rsync,即

rsync -aq -A -X --delete /source /dest
Run Code Online (Sandbox Code Playgroud)

但是,在目标文件系统上,我可以手动创建扩展属性(使用chattr)。这意味着目标文件系统支持 xattr。

为什么我不能xattrcp或保存rsync

附加信息:

  • 源文件系统和目标文件系统都是 ext4
  • 源文件系统和目标文件系统都是本地的(不是 nfs)
  • 我正在使用 Debian Wheezy

filesystems cp rsync xattr

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

sshd:设置“UsePAM no”有什么实际效果

在 中/etc/ssh/sshd_config,PAM 在 Debian 10 上默认启用:

UsePAM yes
Run Code Online (Sandbox Code Playgroud)

在我不想允许使用密码或 kerberos 登录,而只想允许 SSH 密钥身份验证的情况下,PAM在 sshd 中启用它还有什么优势吗?UsePAM或者,如果设置为“否” ,它会简化流程并可能使其更安全吗?

在 sshd 中禁用 PAM 会产生什么实际影响?我会注意到有什么不同吗?

login ssh pam sshd

16
推荐指数
2
解决办法
3万
查看次数

当将 man 管道输送到 less 时,如何保持着色?

我的.zshrc文件中有这个

export MANLESS=""
export LESS="--RAW-CONTROL-CHARS"
export LESS_TERMCAP_mb=$(tput bold; tput setaf 5)
export LESS_TERMCAP_md=$(tput bold; tput setaf 1)
export LESS_TERMCAP_so=$(tput setaf 1; tput setab 3)
export LESS_TERMCAP_se=$(tput rmso; tput sgr0)
export LESS_TERMCAP_us=$(tput setaf 3)
export LESS_TERMCAP_ue=$(tput sgr0)
Run Code Online (Sandbox Code Playgroud)

当我使用 man as: 时man zshexpn,我有漂亮的彩色部分:

在此输入图像描述

当我在手册页的同一部分使用 man as: 时man zshexpn | less '+/PROCESS SUBSTITUTION',它不再是彩色的:

在此输入图像描述

如何在第二种情况下获得彩色输出,与第一种情况相同?

less colors man zsh

16
推荐指数
2
解决办法
1568
查看次数

内核:命名空间支持

我想知道 Linux 内核中的“命名空间支持”功能到底是什么意思。我正在使用内核 3.11.1(目前最新的稳定内核)。

如果我决定禁用它,我会注意到我的系统有任何变化吗?

如果有人决定使用命名空间,仅NAMESPACES=Y在内核中编译就足够了,还是他还需要用户空间工具?

linux linux-kernel namespace

15
推荐指数
2
解决办法
7645
查看次数

mutt:“index_format”中的条件日期格式

index_format在 mutt 中设置了以下值:

"%Z %{%Y %b %e  %H:%M} %?X?(%X)&   ? %-22.22F  %.100s %> %5c "
Run Code Online (Sandbox Code Playgroud)

它以格式显示日期为

2013 Dec 5
Run Code Online (Sandbox Code Playgroud)

我想知道是否可以根据电子邮件的年龄使用不同的日期格式。我的意思是:

for less than 7 days:  today, yesterday, tuesday, monday
this year:             Dec 5
older than this year:  2013 Dec 5
Run Code Online (Sandbox Code Playgroud)

我想我已经在 Thunderbird 中看到了这个功能。把它放在笨蛋里会很好

mutt date

15
推荐指数
2
解决办法
4637
查看次数

find: prune 不忽略指定路径

我需要.git从我的find搜索中排除。为了实现这一点,我正在使用-path ./.git -prune开关:

$ find . -path ./.git -prune -o \( -type f -o -type l -o -type d \) | grep '.git'
./.git
Run Code Online (Sandbox Code Playgroud)

然而,即使这跳过了 .git 目录的内容,它也会列出目录本身。当我添加时它有效-path ./.git -prune -o -print -a

find . -path ./.git -prune -o -print -a \( -type f -o -type l -o -type d \) | grep '.git'
Run Code Online (Sandbox Code Playgroud)

为什么这是必要的。我认为这两个命令应该有相同的输出。第二种语法非常难看。

bash find

15
推荐指数
2
解决办法
4766
查看次数

在 gtk 文件选择器中显示文件系统而不是“位置”

在几乎所有程序中,当我单击 时open,将打开一个文件选择器对话框,如下所示。该对话框将显示RecentHomeDesktop等。

在此处输入图片说明

这是非常烦人的。我不是Desktop用来存储数据的,我也不关心Recent. 无论我最近打开了什么,每次出现打开的对话框时,我都希望获得一致的视图。

另外,从我的截图中可以看出,这个对话窗口是多么的愚蠢。我已经tmpfs安装在/tmp,另一个tmpfs安装在/home/<user>/tmp.

然而,在Locations列表中,这两个挂载点仅被称为tmp并且无法区分。

理想情况下,在左侧,我希望在上半部分看到我的主目录,而从/下半部分开始是简单的旧文件系统树。

或者甚至更好,只在左侧显示文件系统树,但当前位置/home/<user>/已经自动“预选”,我的内容home显示在右侧。

我可以Recent通过添加以下内容来删除.config/gtk-3.0/settings.ini

gtk-recent-files-enabled=false
Run Code Online (Sandbox Code Playgroud)

但是,桌面仍然在上半部分,而在下半部分则是随机组合的绝对混乱。

在 GTK2/GTK3 中,我怎样才能将一些顺序和逻辑带回文件选择器,如上所述?

2020 年 6 月更新:我在 Debian 10 上使用 Openbox,带有没有任何桌面环境的 GTK3 库。我也更新了截图。

desktop desktop-environment gtk gtk3

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

dd:多个输入文件

我需要连接两个文件中的块:

如果我需要连接整个文件,我可以简单地做

cat file1 file2 > output
Run Code Online (Sandbox Code Playgroud)

但是我需要从第一个文件中跳过前 1MB,而我只想要从第二个文件中跳过 10 MB。听起来像是一份工作dd

dd if=file1 bs=1M count=99 skip=1 of=temp1
dd if=file2 bs=1M count=10 of=temp2
cat temp1 temp2 > final_output
Run Code Online (Sandbox Code Playgroud)

有没有可能一步做到这一点?即,无需保存中间结果?我可以使用多个输入文件dd吗?

dd files cat data

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

如何告诉 Firefox 使用另一个 ALSA 设备?

我有一个板载声卡,还有一个连接的蓝牙耳机。我已经在/etc/asound.conf以下位置配置了蓝牙设备:

# cat /etc/asound.conf

pcm.bluetooth {
    type bluetooth
    device 12:34:56:78:9a:bc
    profile "auto"
}

ctl.bluetooth {
    type bluetooth
}
Run Code Online (Sandbox Code Playgroud)

默认情况下,板载卡用于所有声音(显然,默认板载卡甚至不需要在asound.conf中列出)

当我想让应用程序使用我的蓝牙 alsa 设备时,我必须指定它,例如:

mplayer -ao alsa:device=bluetooth file.mp3
Run Code Online (Sandbox Code Playgroud)

这对我来说很好。但是我需要一种方法来告诉我的浏览器也使用蓝牙 alsa 设备。

我找到了一种如何使用--alsa-output-device命令行选项启动 Chrome 的方法:

chromium --alsa-output-device=bluetooth
Run Code Online (Sandbox Code Playgroud)

我需要一种类似的方式来启动 Firefox,但我找不到任何方式。

如何告诉 Firefox 使用我的蓝牙 alsa 设备,而无需修改/etc/asound.conf~/.asoundrc每次?

更新:

我遵循了@lgeorget 的建议,/etc/asound.conf现在看起来像这样:

pcm.!default {
type plug
slave.pcm {
        @func getenv
        vars [ ALSAPCM ]
        default "hw:0,0"
    }
}

pcm.bluetooth {
    type bluetooth
    device 12:34:56:78:9a:bc
    profile "auto"
}

ctl.bluetooth …
Run Code Online (Sandbox Code Playgroud)

alsa firefox audio browser

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

通过 rdesktop 连接到 xrdp-sesman 时剪贴板不起作用

我有一台 Debian 机器,xrdp-sesman按照以下方式进行设置

Xvnc           127.0.0.1:5910
xrdp-sesman    127.0.0.1:3350
xrdp             0.0.0.0:3389
Run Code Online (Sandbox Code Playgroud)

我正在rdesktop从另一台 Debian 机器连接到这台机器。

一切都很好,除了clipboard(即Ctrl+c Ctrl+v用于复制和粘贴)。当我使用相同的rdesktop客户端从我的 Debian 机器连接到 Windows 机器时,clipboard工作正常。

我怀疑,之所以clipboard不工作时连接到sesman的是,它使用rdpvnc(或类似的东西)。我不明白如何sesman工作,我刚刚重用了我在某处找到的配置。

这是我的/etc/xrdp/xrdp.ini

[globals]
bitmap_cache=yes
bitmap_compression=yes
port=3389
crypt_level=low
channel_code=1

[xrdp1]
name=sesman-Xvnc
lib=libvnc.so
username=ask
password=ask
ip=127.0.0.1
port=-1
Run Code Online (Sandbox Code Playgroud)

使用 rdesktop 客户端连接到 xrdp-sesman 时,如何使剪贴板工作?

vnc debian remote-desktop rdesktop

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

标签 统计

alsa ×1

audio ×1

bash ×1

browser ×1

cat ×1

colors ×1

cp ×1

data ×1

date ×1

dd ×1

debian ×1

desktop ×1

desktop-environment ×1

files ×1

filesystems ×1

find ×1

firefox ×1

gtk ×1

gtk3 ×1

less ×1

linux ×1

linux-kernel ×1

login ×1

man ×1

mutt ×1

namespace ×1

pam ×1

rdesktop ×1

remote-desktop ×1

rsync ×1

ssh ×1

sshd ×1

vnc ×1

xattr ×1

zsh ×1