所有可用信息都是针对古代版本的,所以这里专门针对 16.04:
是否可以通过带有 mstsc.exe 的 MSWindows PC 远程连接到运行 xrdp 的 Ubuntu 16.04 PC,而无需安装备用桌面?
这从 12.04 开始就被破坏了,所以这里的任何更新都将不胜感激。
在最近的 dist-upgrade 之后,我破坏了手册页。症状是man <any command here>
拒绝加载任何内容并显示空白控制台,除了左上角的行:
Manual page man(1) line ?/? (END) (press h for help or q to quit)
Run Code Online (Sandbox Code Playgroud)
退出后,我收到以下错误行:
man: command exited with status 4: /usr/lib/man-db/zsoelim | /usr/lib/man-db/manconv -f UTF-8:ISO-8859-1 -t UTF-8//IGNORE | preconv -e UTF-8 | tbl | nroff -mandoc -rLL=195n -rLT=195n -Tutf8
Run Code Online (Sandbox Code Playgroud)
这对我没有帮助。我试图sudo mandb
与sudo mandb -c
没有成功。
我想看看我是通过 ssh 连接还是运行本地终端。
如果我只是通过 ssh 进入服务器而不更改为 root via sudo
,这很容易。任何变量$SSH_CLIENT
,$SSH_CONNECTION
或$SSH_TTY
可用于检查一个变量是通过 SSH 连接还是本地连接。
问题:当我提升到 root 帐户sudo -i
以执行管理操作时,这些变量都没有帮助 - 它们都是空的。
确定连接是本地连接还是通过 SSH 连接的最佳方法是什么?
编辑:通过接受的答案,很容易有一个不显眼的 bash 提示,它反映了 ssh 状态和权限:
if [ "$color_prompt" = yes ]; then
# when system is accessed via SSH, hostname with light grey background
if [[ $(pstree -s $$) = *sshd* ]]; then sshbg="\[\033[48;5;7m\]"; fi
# when used as root, change username to orange and '#' to red for prompt
if …
Run Code Online (Sandbox Code Playgroud)