【发布时间】:2018-12-19 13:11:44
【问题描述】:
我需要帮助解决一个非常糟糕的 Cygwin 问题,我找不到任何人以前遇到过的问题。
[次要问题:确定每个人说 cygwin HOME 目录时的意思会很有帮助。 /home,还是 /home/user?]
主要问题是我给了一台新的戴尔 PC (Window 10) 一个带有两个空格和一个撇号的计算机名称。
Windows 接受了它,尽管它不应该接受。它甚至将其指定为我的用户名。
这些空格显然会对 cygwin 造成严重破坏。我开始担心没有办法解决这个问题。
即使我更改了计算机名称 Geo2,也更改了它的唯一用户 Geo2,cygwin 仍不断寻找旧的哑名称并重用它,这当然会导致很多问题。
[好的。让每个人都觉得好笑的是:“安的小匈奴”。它似乎无害,因为我读过它可以稍后更改。]
更具体地说,在我更改计算机名称后,清理旧安装并重新安装 cygwin:
这是它的安装位置:
C:\ProgramFilesGeo\CygwinBinHome\
bin
dev
etc
home\Ann's Little Hun
...
Var
Cygwin.bat
Cygwin.ico
Cygwin-Terminal.ico
但这是我在考虑更改计算机名称后第一次打开 cygwin 时得到的终端窗口输出。
Copying skeleton files.
These files are for the users to personalise their cygwin experience.
They will never be overwritten nor automatically updated.
'./.bashrc' -> "/home/Ann's Little Hun//.bashrc"
'./.bash_profile' -> "/home/Ann's Little Hun//.bash_profile"
'./.inputrc' -> "/home/Ann's Little Hun//.inputrc"
'./.profile' -> "/home/Ann's Little Hun//.profile"
Ann's Little Hun@Geo2 ~
$ cd /home
Ann's Little Hun@Geo2 /home
$ dir
Ann's\ Little\ Hun
注意 1:Cygwin 仍在某个地方找到我第一次给计算机起的名字。
注 2:这导致它认为 home 有三个子目录。
这是我在下面输入的所有信息的列表:
1 我用来更改计算机名称的步骤
2 我用来完全删除第一次安装的步骤,即当计算机使用旧名称时。
3 我更改计算机和用户名后重新安装 cygwin 时使用的选项。
更改计算机名称:
--- 我使用 sysdm.cpl 将其重命名为 Geo2。重新启动。
---确认使用Windows设置系统关于。现在显示的是 Geo2。
--- 我还使用了 Windows 设置帐户。现在唯一的用户是 Geo2。
要删除以前的安装:
--- 确保隐藏文件可见,即所有 .bash 文件
--- 删除 cygwin 主目录,即有 bin 和其余目录的目录。
--- 删除了下载的包保存在一个目录中的目录,其名称类似于:http%3a%2f%2fwww.pirbot.com%2fmirrors%2fcygwin%2f
--- 删除第一次安装时创建的日志文件。
--- 删除 setup-x86_64.exe
--- 删除 HOME 环境变量。
--- 对于注册表:HKEY_CURRENT_USER/SOFTWARE/Cygwin/Installations 左子键:(默认)设置为(未设置值) 删除了第一次安装创建的子键:99fb8763c5c8ea38
--- 对于注册表:HKEY_LOCAL_MACHINE /SOFTWARE/Cygwin/Installations 做了和上面一样的事情。 --- 对于注册表:HKEY_LOCAL_MACHINE /SOFTWARE/Cygwin/setup 左子键:(默认)设置为(未设置值) 左子键:rootdir 就位,但删除了它的值,即留空值。
--- 从任务栏取消固定的快捷方式。
--- 已删除桌面快捷方式。
--- 从 windows 菜单应用列表中删除了 Cygwin。
最终重新安装:
--- 创建了一个新目录 cygwin home。使用了与第一次安装完全不同的名称。
--- 下载了 setup-x86_64.exe 的新副本。
--- 执行如下:
选择下载源:点击从互联网安装。
选择根安装目录:我使用的是 C:\CygwinBinHome。
安装对象:选定的所有用户
选择本地包目录:我用的是 C:\Downloads\Cygwin。
选择您的 Internet 连接:选择直接连接。
选择一个下载站点:我使用的是 ftp://ftp.atlib.gatech.edu
选择包:我在搜索文本框中输入了 openssh 然后点击把出现的三个改成“安装”
解决依赖关系:接受所有列出的。
那时我发誓,Cygwin 不可能重用这个愚蠢的老名字。 我错了。见上面的终端输出。
我显然遗漏了一些重要的东西。
有没有可能我永远无法摆脱愚蠢的名字?
笑声和嘲笑都可以。真的很蠢。
但也非常感谢您提供帮助或新方向。 全局
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
PS:对于那些关注的人。我在此处添加注释,以便可以使用注释部分中不起作用的“代码”格式。
下面的第一个帮助建议使用 uname -n 和 mkpasswed -c。结果证实 Cygwin 仍然使用原来的哑名称看到我的计算机:
Ann's Little Hun@Geo2 ~
$ uname -n
Geo2
Ann's Little Hun@Geo2 ~
$ mkpasswd -c
Ann's Little Hun:*:197609:197121:U-GEO2\Ann's Little Hun,S-1-5-21-1992435346-218 5703021-1381555857-1001:/home/Ann's Little Hun:/bin/bash
【问题讨论】:
-
我怀疑 Windows 正在为 Cygwin 提供名称,并且只是使用新名称作为内部使用的原始名称的别名。检查
uname -n和mkpasswd -cCygwin 看到的机器名称 -
谢谢。你说的对。 Cygwin 仍然使用它的旧名称来查看我的计算机。 (我把终端输出放在主要问题上面)。但是在第一次糟糕的安装后,我找不到任何与 Cygwin 相关的任何其他内容,我可以删除这些内容,所以我不知道 Cygwin 在哪里找到旧名称。对我应该寻找的其他任何地方有什么建议吗?