我正在使用屏幕从串行控制台读取文本.问题是输出似乎只有换行符\n而不是回车符\ r \n,所以显示看起来像这样......
Line1
Line2
Line3
Run Code Online (Sandbox Code Playgroud)
我想知道是否有任何补丁来解决这个问题?
我目前正处于一个byobu-tmux会话中,并且进入了一个屏幕会话.如何在不分离byobu-tmux会话的情况下分离远程屏幕会话?有些事情需要注意,我不能运行byobu-config,因为我在osx上并且没有安装python-newt(w/snack).并且,我在Emacs模式下运行byobu-ctrl-a,但这似乎不允许我从远程屏幕会话中进行控制.
我有三台显示器.
我通常在每个监视器上运行一个最大化的xterm,连接到同一个GNU屏幕会话.
可以用类似的模型用于vim吗?是否可以运行三个vims,它们共享相同的"vim会话":
我试图在Eclipse中放入一个我想念的功能,其中Alt+ [ Up/ Down]可以向上或向下转换行,但是在我的生活中不能找到如何正确分配这些键的功能.我在-nw模式中使用它(所以只在shell窗口中),通常在屏幕会话中运行.
使用全局键绑定,我可以使用字母组合,比如(kbd "M-m"),但是我为箭头键尝试的每个组合只给我一条没有意义的消息,我总是得到:
"ESC <up> is undefined"
Run Code Online (Sandbox Code Playgroud)
我尝试过的:
(global-set-key (kbd "M-<up>") 'transpose-line-up)
(global-set-key (kbd "<escape>-<up>") 'transpose-line-up)
(global-set-key [M-up] 'transpose-line-up)
(global-set-key [\e \M-O A] 'transpose-line-up)
Run Code Online (Sandbox Code Playgroud)
而且C-h c只是回报:
ESC <up> (translated from ESC M-O A) is undefined
Run Code Online (Sandbox Code Playgroud)
这些都不起作用,无论是使用ESC还是Alt.
知道如何让这个工作吗?我更愿意将这些作为Alt+ [ Up/ Down],因为这是我习惯的.
编辑
来自评论:
C-q Up打印^[OA.
C-q M-Up打印^[并将光标向上移动一行.
C-h k(Alt+ Up)打印 …
我正在使用KUbuntu 10.04(Lucid Lynx).我已经安装了zsh和screen.我已将zsh设置为默认shell,方法是在设置 - >编辑终端的当前配置文件中将Command设置为zsh.但是,当我启动屏幕时,加载了bash shell.如果我运行命令zsh,则zsh启动但显示以下消息:
"/home/joel/.zshrc:36: Can't add module parameter `mapfile': parameter already exists"
Run Code Online (Sandbox Code Playgroud)
此外,仅为当前屏幕实例调用zsh,我必须再次为其他实例手动调用它.那么,有没有办法在默认情况下使屏幕加载zsh并为每个实例自动调用它?
谢谢
我想制作一个shell脚本,它将有效地从输出到控制台的sterr和stin中获取最后n行.我有一个屏幕会话运行一个进程,如果它通过hacky无限循环崩溃将重新启动它:
#!/bin/bash
#This script will be started in a screen session
counter=0
while [ $counter -lt 10 ]; do
./run_some_process;
last_output=#GRAB PREVIOUS OUTPUT FROM CONSOLE HERE AND LOG TO FILE
echo -e "$last_output" >> mylog.txt;
sleep 5; #sleep for a few seconds before restarting
done
Run Code Online (Sandbox Code Playgroud)
我需要的是第7行代码从stderr和stdin中获取最后10行左右并将它们附加到日志文件中
我有一个名为demo的GNU屏幕,我想向它发送命令.我该怎么做呢?
screen -S demo -X /home/aa/scripts/outputs.sh
Run Code Online (Sandbox Code Playgroud)
yeilds No screen session found.
并screen -ls表明它没有运行.
我想在屏幕上以一个带脚本的用户"XYZ"启动一个程序.这是我的简短形式的脚本:
# replace <newuser> with the user you wish to run teamspeak 3 with.
USER="teamspeak"
# Do not change this path
PATH=/bin:/usr/bin:/sbin:/usr/sbin
# The path to the teamspeak 3 server/scripts . example = /home/teamspeak3/teamspeak3-server
DIR=/home/teamspeak/voiceserver/teamspeak3
DAEMON=$DIR/ts3server_startscript.sh
# Change all PARAMS to your needs. I required the ini so teamspeak used MySQL
PARAMS="inifile=ts3server.ini"
#Name = The screen will be named from this.
NAME=teamspeak3
DESC="Teamspeak Server 3"
case "$1" in
start)
echo "Starting $DESC"
script -q -c "su $USER -l -c \"screen …Run Code Online (Sandbox Code Playgroud) 如何运行shell脚本并立即对其进行后台处理,但是可以通过拖尾/tmp/output.txt随时检查其输出
如果我能在以后进行前瞻,那将是很好的.
PS如果您还可以向我展示如何将后台进程"发送"到可能已初始化或未初始化的gnu屏幕,那将是非常酷的.
我是非常新的屏幕,我已经打了C-Something而不是Ca. 现在我无法分离或执行任何其他命令.我可以做什么来分离我的屏幕会话?
gnu-screen ×10
bash ×3
linux ×3
shell ×2
byobu ×1
daemon ×1
debian ×1
emacs ×1
emacs23 ×1
job-control ×1
key-bindings ×1
logging ×1
serial-port ×1
tmux ×1
tty ×1
unix ×1
vim ×1
zsh ×1