标签: terminal-emulator

iTerm2隐藏标记

我最近为iTerm2安装了Shell集成,但是当它作为shell命令输入时它还添加了那些小箭头(称为标记),这真的很烦人.有没有办法禁用/隐藏它们,我在网上找不到?在此输入图像描述

terminal-emulator iterm2

3
推荐指数
1
解决办法
343
查看次数

如何在使用-e选项调用的终端中等待用户输入?

我正在尝试使用-e选项提供的命令打开gnome-terminal(尽管我认为它与任何x-terminal-emulator有关)gnome-terminal -e 'ls'.一旦命令完成工作,终端就会关闭,所以我需要一种方法来等待用户输入能够读取结果然后最后用Enter按下关闭窗口.

我试过gnome-terminal -e 'ls; read -p "..."',如果我ls; read -p "..."在已经打开的终端中运行,它会工作,但是带有-e选项的终端会一直关闭.

那么有什么方法可以保持终端打开,直到使用-e选项时提供一些用户输入?

linux terminal-emulator

2
推荐指数
1
解决办法
2960
查看次数

管道输出导致python程序失败

我有以下简单的程序:

# -*- coding: utf-8 -*-

GREEK = u'???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ????'

print GREEK
Run Code Online (Sandbox Code Playgroud)

在终端上运行此产生,如下所示:

$ python test.py
???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ????
Run Code Online (Sandbox Code Playgroud)

但是将输出传递给另一个程序会导致错误:

$ python test.py | less

Traceback (most recent call last):
  File "test.py", line 5, in <module>
    print GREEK
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-3: ordinal not in range(128)
Traceback (most recent call last):
  File "ddd.py", line 5, in …
Run Code Online (Sandbox Code Playgroud)

python unicode terminal redirect terminal-emulator

2
推荐指数
1
解决办法
1313
查看次数

Swift 中的 macOS 终端模拟器

我正在尝试使用 Swift 语言创建一个终端模拟器(目前使用 Swift 4.0)

到目前为止,我已经创建了一个用户界面,唯一的问题是我的一些命令不起作用,例如:

diskutil mount disk0s1
Run Code Online (Sandbox Code Playgroud)

这会在 Xcode 控制台输出中出现以下错误:

"Could not start up a DiskManagement session"
Run Code Online (Sandbox Code Playgroud)

一些命令的工作原理如下:

echo Hi
Run Code Online (Sandbox Code Playgroud)

这是我到目前为止实际执行命令的代码:

@discardableResult
func shell(_ args: String) -> Int32 {
    let task = Process()
    task.launchPath = "/usr/bin/env"
    let cmd = args.characters.split(separator: " ").map(String.init)
    task.arguments = cmd
    task.launch()
    task.waitUntilExit()
    return task.terminationStatus
}
Run Code Online (Sandbox Code Playgroud)

macos terminal terminal-emulator swift

2
推荐指数
1
解决办法
820
查看次数

为 Zebra 移动数据终端创建模拟器 - 手持设备

我正在为 Zebra 移动数据终端 TC25/TC20 创建一个用于扫描条形码的应用程序。为此,在安装 Emdk for Zebra 后,我可以看到 EMDK api,但系统映像不可用于创建模拟器。

谁能帮我获取 Zebra 设备的这些系统映像文件。

在此输入图像描述 在此输入图像描述

android barcode-scanner terminal-emulator android-emulator

2
推荐指数
1
解决办法
1万
查看次数

如何将"\\ r \\n"更改为java中的行分隔符

我正在研究一个学校项目来构建一个伪终端和文件系统.终端正在扫描System.in并将字符串传递给控制器​​.

输入到控制台: abc\r\nabc\r\nabc

这是我试过的代码

Scanner systemIn = Scanner(System.in);
input = systemIn.nextLine();
input = input.replaceAll("\\\\r\\\\n",System.getProperty("line.separator"));
System.out.print(input);
Run Code Online (Sandbox Code Playgroud)

我希望java将\ r \n我键入的控制台视为行分隔符,而不是实际的\和r.它现在做的是按原样打印输入.

期望的输出:

ABC

ABC

ABC

更新:我试过input = StringEscapeUtils.unescapeJava(input);,它解决了这个问题.

java regex newline terminal-emulator

1
推荐指数
1
解决办法
1万
查看次数

输出文本着色的鱼壳自定义功能

当在终端模拟器(例如终结器)中使用 Fish shell 以及输出大量文本的命令时,在输出上获取一些颜色编码可能会很有用。我知道脚本可以将颜色代码信息添加到输出中,例如“ grep --color=auto ”。我想可以修改鱼终端以扫描输出并将其添加到特殊位置吗?

我想要做的是,任何脚本的输出中出现的文本“错误”始终标记为红色,而“警告”始终标记为黄色。任何人都知道这是否可以通过在~/.config/fish/functions目录或类似目录中引入函数文件来实现?

linux shell terminal terminal-emulator fish

1
推荐指数
1
解决办法
2774
查看次数

我如何“手动”让我的终端返回其(字符)大小?

诸如resize询问终端其大小之类的程序。最终,他们将向标准输出发送一些(ANSI)转义序列,并期望终端对这些序列本身做出反应,返回一些字节。

\n\n

该机制的效果通过以下交互式 Python 代码片段可见:

\n\n
>>> print('\\x1b[21;t')\n
Run Code Online (Sandbox Code Playgroud)\n\n

Gnome 终端将在标准输入上插入与窗口标题相关的可见内容。

\n\n

哪个脚本片段将促使终端写入\xe2\x80\x99s 大小(以字符为单位)?如果返回的大小不可见,则应进行一些简单的转换才能看到某些内容。Shell、Python、Perl,任何语言都可以。由于这将是特定于终端的,因此任何常见的终端仿真器都可以(例如 xterm、gnome-terminal、terminator 等)。

\n\n

澄清:我不关心告诉我大小的程序。我知道 TIOCGWINSZ,它不能通过串行线路工作。我想查看使用转义序列的代码,它实际上在串行线路上工作。

\n

python terminal ansi-escape terminal-emulator

1
推荐指数
1
解决办法
2487
查看次数

Qt - 从正在运行的进程中获取输出

我想在 Qt 中从 Linux 上的运行进程中获取输出。

我的代码如下所示:

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <qprocess.h>
#include <qthread.h>

QProcess process;

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    process.start("htop");

    connect(&process, SIGNAL(readyReadStandardOutput()), this, SLOT(getData()));
}

void getData(){

    QByteArray out;
    out = process.readAllStandardOutput();
}

MainWindow::~MainWindow()
{
    delete ui;
}
Run Code Online (Sandbox Code Playgroud)

但是我想从htop获取实时(更改)输出并将其保存到字符串。

c++ qt screen-capture terminal-emulator

-1
推荐指数
1
解决办法
702
查看次数