在任何 tmux 窗口上,按下诸如“向上箭头”和(仅有时)“退格”之类的键,会出现奇怪的字符,例如图像上显示的字符。
在向上箭头的情况下(最容易和最一致的重现),字符显示而不是以前使用的命令。
从技术上讲,我要做的就是使用脚本将一个文件替换为另一个文件:
echo "PASSWORD" | sudo -S rm paper_RPG.jar
cp /home/network/PaperAndWaterfallUpdater/paper.jar paper_RPG.jar
第一个命令删除旧的paper_RPG.jar
,第二个命令paper.jar
从更新文件夹复制更新的文件,重命名并将其paper_RPG.jar
保留在执行脚本的同一文件夹中。
是的,我在那里使用密码,因为它真的很方便。对此的建议被接受,但我已经阅读了一些并且不相信。
旧文件被正确删除,新文件被正确放置(我尝试只是复制希望覆盖,但旧文件不会覆盖,而是两个同名文件保留在同一个文件夹中,所以我也是使用 rm)。
但是,当尝试执行 jar 时,我注意到我收到一条错误消息no such file or directory
. 使用 ls 列出本地文件显示 jar 在被复制后具有这个奇怪的名称:'paper_RPG.jar'$'\r'
我该如何解决这个问题?
jvmtop 要求JAVA_HOME
环境变量指向一个有效的 JDE。
我试图JAVA_HOME
在~/.profile
的最后一行进行设置:
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64/bin
所以它是永久性的。
但是,在执行时:bash jvmtop.sh --profile <PID>
我得到了这个:/usr/lib/jvm/java-11-openjdk-amd64/bin seems to be no JDK!
Update1:由于答案的说明,我使环境路径永久化。但是仍然出现错误:
network@ns3009333:~/jvmtop$ echo $JAVA_HOME
/usr/lib/jvm/java-11-openjdk-amd64/bin
network@ns3009333:~/jvmtop$ bash jvmtop.sh --profile 7435
/usr/lib/jvm/java-11-openjdk-amd64/bin seems to be no JDK!
Update2:我尝试在不同的场合将以下 3 个命令附加到 ~/.profile:
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64/bin
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64/
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
消息仍然是“似乎没有 JDK!” (我确保我重新登录)。
Update3:还尝试了设置
JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
,
nano jvmtop.sh
如我发现的教程中所示。同样的负面结果。
Update4:我认为我的 JDE 可能没有正确安装,所以我重新安装了 Java JDK 和 JDE。我目前已经完全安装了 java 11 并确认可以正常工作(没有其他 java 版本,只有 11)。我还验证了/usr/lib/jvm/java-11-openjdk-amd64
路径指向的文件夹确实存在并且有内容。
我还尝试同时执行 jvmtop.sh./
并且bash
错误消息是相同的。
当前设置是:
JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
添加到
nano jvmtop.sh
第 10 行,然后执行指向有效进程 ID 的 jvmtop.sh。
Update5:我终于决定在 jvmtop 上打开一个 github 票,当然,在我这样做之后,我发现有人已经在同一个问题上这样做了: https ://github.com/patric-r/jvmtop/问题/119
每次 Ubuntu 启动时,我一直在尝试执行我的脚本 UbuntuBootScript.sh。该脚本位于以下路径:/home/network/scripts/UbuntuBootScript.sh
我试图通过 /etc/rc.local 目录告诉 ubuntu 每次启动时运行该脚本,当前的内容是:
#!/bin/sh -e
/home/network/scripts/UbuntuBootScript.sh
exit 0
UbuntuBootScript.sh 的内容是:
#!/bin/bash
sh openWindows.sh
sh startServers.sh
exit 0
如果单独执行,这两个调用的脚本都能正常运行。
在重新启动 ubuntu 时,UbuntuBootScript.sh 似乎没有被执行,因为没有出现所需的功能。看起来要么在 rc.local 上写得不好,要么启动脚本 rc.local 以某种方式被禁用?因为如果手动执行脚本本身就可以工作。我需要解决这个问题。协助表示赞赏。提前致谢!
我正在尝试安装 python 2 的最新版本(根据该站点当前为 2.7.14)和 v3 的最新版本,即使我并不真正需要它。(只是想看看我是否可以让任何版本的 python 工作)
我只需要 python 2 才能在 Ubuntu 上运行旧的 python 程序。
我最近尝试以以下方式安装这两个版本,首先:
sudo apt-get install python2.7
在似乎安装了 python 2 之后,我尝试检查版本:
python -V
但是,此输入返回:
-bash: python: command not found
与python 3相同:
sudo apt-get install python3.6
检查版本时,我得到另一个负面输出。
-bash: /usr/bin/python3: No such file or directory
似乎两个版本都没有完全安装。
不过,我必须添加一个重要的事实,我无法在我的 Ubuntu 系统上安装和使用任何 python 版本的原因可以证明是因为我之前已经以这种可疑的方式删除了 python 3:
sudo apt purge python3.5-minimal
自从:
sudo apt-get remove python3.5
没有完成删除 python 3 的工作(它仍然功能齐全)。我觉得我可能在尝试在我的系统上重新安装 python 时删除了一些重要的东西。
如果我真正需要的是 python 2,为什么我安装了 python 3(我确实开始工作了)?答案是,我不知道我需要 python 2 才能运行这个 python 程序,所以我认为安装最新版本是最明智的做法。但是开发人员告诉我该程序只能在 python 2 上运行(一旦我发现我无法在 3 上运行它)。所以我认为最好的办法是完全删除 python 3 并安装 2,但这并没有那么顺利。
我可以了解如何正确解决这个混乱并安装 python 2 吗?我真正需要的是 python 2 来执行该版本的程序。
规格:
Ubuntu version: 17.04
Desired python version: 2.7.14 (Currently at the time of writing this is
latest)
如果你觉得我的问题不够简洁,请追问。我会尽力扩展细节(通过编辑+评论)。