我正在将我的操作系统和数据从同一台计算机中的一个驱动器移动到另一个驱动器。(我有一个不错的新 SSD。)我的旧主目录里面有一个加密的子目录,我想从我的新安装中访问加密目录。我正在尝试使用ecryptfs-recover-private. 但是,我遇到了以下错误。
$ sudo ecryptfs-recover-private /BLAH/.Private
INFO: Found [.Private/].
Try to recover this directory? [Y/n]:
INFO: Found your wrapped-passphrase
Do you know your LOGIN passphrase? [Y/n]
INFO: Enter your LOGIN passphrase...
Passphrase:
Inserted auth tok with sig [BLAH] into the user session keyring
mount: mount(2) failed: No such file or directory
ERROR: Failed to mount private data at [/tmp/ecryptfs.NcWkVmQ5].
Run Code Online (Sandbox Code Playgroud)
如果我让ecryptfs-recover-private自己找到目录,或者如果我对登录密码说“不”但使用安装密码,我会遇到同样的问题。
想法?
(我意识到这个网站上有几个类似的问题,但似乎没有一个能完全涵盖我的情况。)
LANGUAGE 环境变量设置在哪个配置文件中?(或者我怎样才能通过其他方式改变它?)
背景:我在 kubuntu 中玩弄语言设置并意外安装了俄语。现在它不会完全消失。是的,GUI 中显示的是英语,但命令行中显示的是俄语。据我所知,这是由于 LANGUAGE 环境变量造成的。见第三行:
leon@leon-Desktop:~$ locale
LANG=en_US.UTF-8
LANGUAGE=en:ru:en
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC=en_US.UTF-8
LC_TIME=en_US.UTF-8
LC_COLLATE="en_US.UTF-8"
LC_MONETARY=en_US.UTF-8
LC_MESSAGES="en_US.UTF-8"
LC_PAPER=en_US.UTF-8
LC_NAME=en_US.UTF-8
LC_ADDRESS=en_US.UTF-8
LC_TELEPHONE=en_US.UTF-8
LC_MEASUREMENT=en_US.UTF-8
LC_IDENTIFICATION=en_US.UTF-8
LC_ALL=
Run Code Online (Sandbox Code Playgroud)
除 LANGUAGE 外,所有设置都正确。我已经阅读了许多有关如何配置语言环境/语言的说明,但似乎没有任何改变 LANGUAGE(尽管它们更改了其他环境变量,例如 LANG)。所以,我对如何更改语言环境的概述不感兴趣。我需要特别知道如何更改 LANGUAGE (除非我完全误解了这种情况)。值得一提的是,LANG 设置在 /etc/default/locale 中,但 LANGUAGE 未设置在那里。(我尝试在那里设置 LANGUAGE,但它以某种方式被覆盖。)如果我手动将 LANGUAGE 设置为 en,那么该特定 shell 工作正常,所以我认为只需要更改 LANGUAGE。
编辑:
只是为了说明,在 /etc/default/locale中设置 LANGAUGE没有帮助。此外, ~/.pam_environment 不存在。
见下文。LANGUAGE 在 /etc/default/locale 中设置为“en”。我重新启动了机器。我验证了 /etc/default/locale.conf 的内容。但是,apt-get 仍然以俄语输出,因为 LANGUAGE 在其他地方被覆盖(从语言环境生成上述输出)。
leon@leon-Desktop:~$ cat /etc/default/locale
LANG="en_US.UTF-8"
LANGUAGE="en"
leon@leon-Desktop:~$ cat ~/.pam_environment
cat: /home/leon/.pam_environment: No such file or directory
leon@leon-Desktop:~$ sudo …Run Code Online (Sandbox Code Playgroud)