小编Jon*_* Y.的帖子

为什么 gnome-online-accounts 不接受 Google 的“应用程序特定密码”?

我使用 Google 的两步验证,因此在授予 gnome-online-accounts 访问我的 Google 帐户的权限时,我还必须输入身份验证代码。这很好,这就是事情应该如何运作。

但是,我的登录名经常会被重置,我需要重新输入所有内容。因此,我尝试创建一个与 gnome-online-accounts 一起使用的应用程序特定密码,但它不会接受它;它告诉我改用我的帐户密码。

任何人都知道为什么会这样,或者——更重要的是——是否有任何方法可以改变它的工作方式,或者在两步验证下使用 gnome-online-accounts 保存我的 Google 凭据?

password login google online-accounts

17
推荐指数
1
解决办法
6831
查看次数

使用文本列表批量重命名文件

假设我有一个文件夹,里面有大约 20 个文件(比如我在旅行中拍的照片),我想一次性重命名它们,只是没有我想使用的任何特定的 Perl 表达式(例如,如果我想为每个名称添加额外的文本,这些文本不属于单个文件的元数据,例如描述和/或评论)。

并且假设我可以更轻松地生成一个文本文件,其中包含我希望每个文件的名称(或者,如果需要,可以使用“前后”列表)。

有什么方法可以将该文本列表中隐含的更改应用于相关文件夹?

command-line batch-rename

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

`apt-get` 和通配符:globs 与 regex

编辑:请注意,如下所述,我知道此站点上的答案解释apt-get使用正则表达式来解释包的名称。事实上,问题直接在于它的实际行为与记录的行为不同的方式。请在建议重复之前阅读问题。


该站点上的一些答案警告不要使用apt-get通配符(即星号: *),因为apt-get据说将它们扩展为正则表达式,这可能会产生意外(和不希望的)结果,尤其是apt-get remove. 事实上,Ubuntuman页面apt-get读取:

如果没有包与给定的表达式匹配并且表达式包含“.”、“?”之一 或 '*' 那么它被假定为一个 POSIX 正则表达式,它被应用于数据库中的所有包名称。然后安装(或删除)任何匹配项。请注意,匹配是由子字符串完成的,因此 'lo.*' 匹配 'how-lo' 和 'lowest'。如果这是不希望的,请使用 '^' 或 '$' 字符锚定正则表达式,或者创建更具体的正则表达式。

事实上,这个答案声称:

apt-get 接受正则表达式而不是 glob 模式作为外壳。

我相信这是错误的(至少从 Xenial 开始)。例如,我可以重现以下行为:

$ sudo apt-get install -s 'meld*'
[...]
Note, selecting 'meld' for glob 'meld*'
[...]

$ sudo apt-get install -s 'meldt*'
[...]
Note, selecting 'python-meld3' for regex 'meldt*'
Note, selecting 'python3-meld3' for regex 'meldt*'
Note, selecting …
Run Code Online (Sandbox Code Playgroud)

package-management apt

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

在 LXD 管理的容器内启动屏幕会话

我想screen在 LXD 管理的容器内启动一个会话,以便我可以分离正在运行的进程,并且可能在将来我想检查它们的状态时重新附加。

我试图附加到正在运行的容器

$ lxc exec my-ubuntu -- /bin/bash
Run Code Online (Sandbox Code Playgroud)

然后使用 开始会话screen -x,但出现以下错误:

Must be connected to a terminal.
Run Code Online (Sandbox Code Playgroud)

我可以看到,试图启动时,很多人都有过类似的问题screen,从ssh,但我不能应用建议的解决方案,我的情况。

gnu-screen lxc lxd

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

将 ZFS 快照发送到远程机器

编辑

这个问题最初关注的是在传输时反转ssh连接方向的问题,但我开始意识到这不是导致我遇到问题的原因,所以我简化了它。


虽然Ubuntu的文档zfs只讨论通过文件发送,接收,这种方法不可行大数据集。Oracle 文档建议ssh在管道中使用,即

# zfs send tank/dana@snap1 | ssh sys2 zfs recv newtank/dana
Run Code Online (Sandbox Code Playgroud)

但是,尝试使用我创建的包含单个 10M 文件的测试数据集执行此过程时,我遇到了 Ubuntu Xenial 实现zfs(ZFS-on-Linux)需要 root 权限(在接收端)的问题:

$ sudo -i
# zfs send tank/dana@snap1 | ssh sys2 zfs recv newtank/dana
Permission denied the ZFS utilities must be run as root.
warning: cannot send 'tank/dana@snap1': Broken pipe
Run Code Online (Sandbox Code Playgroud)

我试图通过传递来解决这个问题ssh-t标志,即发行

# zfs send tank/dana@snap1 | ssh -t sys2 "sudo zfs recv newtank/dana"
Run Code Online (Sandbox Code Playgroud)

失败了

Pseudo-terminal …
Run Code Online (Sandbox Code Playgroud)

server ssh zfs 16.04

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

`lxc exec` 中的双连字符有什么作用

一些教程(例如linuxcontainers.org 上的入门)建议在用于在 LXD 容器内运行程序--时使用双连字符 ( ) lxc exec,如

$ lxc exec my-container -- apt update
Run Code Online (Sandbox Code Playgroud)

我怀疑--告诉lxc exec将提供的标志传递给程序,因为例如lxc exec my-container apt list --upgradable失败

error: flag provided but not defined: --upgradable
Run Code Online (Sandbox Code Playgroud)

但是,我找不到有关该问题的任何文档。有人可以确认或澄清这是否不完全是它的作用吗?

此外,我看到人们--在不同地方使用的实例,例如:

$ lxc exec my-container apt -- list --upgradable
$ lxc exec my-container apt list -- --upgradable
Run Code Online (Sandbox Code Playgroud)

有什么不同?

lxc lxd

4
推荐指数
1
解决办法
1323
查看次数