本文整理了Java中org.apache.sshd.server.Environment
类的一些代码示例,展示了Environment
类的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Environment
类的具体详情如下:
包路径:org.apache.sshd.server.Environment
类名称:Environment
[英]Interface providing access to the environment map and allowing the registration of listeners for certain signals.
[中]接口提供对环境地图的访问,并允许注册某些信号的侦听器。
代码示例来源:origin: crashub/crash
public String getProperty(String key)
{
return env.getEnv().get(key);
}
}
代码示例来源:origin: crashub/crash
public SSHContext(Environment env) {
if (env == null) {
throw new NullPointerException("No null env");
}
//
Integer verase = env.getPtyModes().get(PtyMode.VERASE);
String LC_CTYPE = env.getEnv().get("LC_CTYPE");
Charset encoding;
if (LC_CTYPE != null) {
encoding = parseEncoding(LC_CTYPE);
} else {
encoding = null;
}
//
this.env = env;
this.verase = verase != null ? verase : -1;
this.encoding = encoding;
}
代码示例来源:origin: apache/karaf
public SshTerminal(Environment environment, InputStream input, OutputStream output, String encoding) throws IOException {
super("Karaf SSH terminal",
environment.getEnv().get(Environment.ENV_TERM),
input,
output,
Charset.forName(encoding));
this.environment = environment;
this.environment.addSignalListener(this::handleSignal);
for (Map.Entry<PtyMode, Integer> e : environment.getPtyModes().entrySet()) {
switch (e.getKey()) {
case VINTR:
int w = Integer.valueOf(this.environment.getEnv().get(Environment.ENV_COLUMNS));
int h = Integer.valueOf(this.environment.getEnv().get(Environment.ENV_LINES));
setSize(new Size(w, h));
代码示例来源:origin: io.termd/termd-core
@Override
public void start(final Environment env) throws IOException {
String lcctype = env.getEnv().get("LC_CTYPE");
if (lcctype != null) {
charset = parseCharset(lcctype);
}
if (charset == null) {
charset = defaultCharset;
}
env.addSignalListener(signal -> updateSize(env), EnumSet.of(org.apache.sshd.server.Signal.WINCH));
updateSize(env);
// Event handling
int vintr = getControlChar(env, PtyMode.VINTR, 3);
int vsusp = getControlChar(env, PtyMode.VSUSP, 26);
int veof = getControlChar(env, PtyMode.VEOF, 4);
//
eventDecoder = new TtyEventDecoder(vintr, vsusp, veof);
decoder = new BinaryDecoder(512, charset, eventDecoder);
stdout = new TtyOutputMode(new BinaryEncoder(charset, out));
term = env.getEnv().get("TERM");
conn = new Connection();
//
session.setDataReceiver(this);
handler.accept(conn);
}
代码示例来源:origin: termd/termd
private int getControlChar(Environment env, PtyMode key, int def) {
Integer controlChar = env.getPtyModes().get(key);
return controlChar != null ? controlChar : def;
}
代码示例来源:origin: org.apache.karaf.shell/org.apache.karaf.shell.ssh
public SshTerminal(Environment environment, InputStream input, OutputStream output) throws IOException {
super("Karaf SSH terminal",
environment.getEnv().get(Environment.ENV_TERM),
input,
output,
StandardCharsets.UTF_8);
this.environment = environment;
this.environment.addSignalListener(this::handleSignal);
for (Map.Entry<PtyMode, Integer> e : environment.getPtyModes().entrySet()) {
switch (e.getKey()) {
case VINTR:
int w = Integer.valueOf(this.environment.getEnv().get(Environment.ENV_COLUMNS));
int h = Integer.valueOf(this.environment.getEnv().get(Environment.ENV_LINES));
setSize(new Size(w, h));
代码示例来源:origin: termd/termd
@Override
public void start(final Environment env) throws IOException {
String lcctype = env.getEnv().get("LC_CTYPE");
if (lcctype != null) {
charset = parseCharset(lcctype);
}
if (charset == null) {
charset = defaultCharset;
}
env.addSignalListener(signal -> updateSize(env), EnumSet.of(org.apache.sshd.server.Signal.WINCH));
updateSize(env);
// Event handling
int vintr = getControlChar(env, PtyMode.VINTR, 3);
int vsusp = getControlChar(env, PtyMode.VSUSP, 26);
int veof = getControlChar(env, PtyMode.VEOF, 4);
//
eventDecoder = new TtyEventDecoder(vintr, vsusp, veof);
decoder = new BinaryDecoder(512, charset, eventDecoder);
stdout = new TtyOutputMode(new BinaryEncoder(charset, out));
term = env.getEnv().get("TERM");
conn = new Connection();
//
session.setDataReceiver(this);
handler.accept(conn);
}
代码示例来源:origin: io.termd/termd-core
private int getControlChar(Environment env, PtyMode key, int def) {
Integer controlChar = env.getPtyModes().get(key);
return controlChar != null ? controlChar : def;
}
代码示例来源:origin: crashub/crash
public int getWidth() {
String s = env.getEnv().get(Environment.ENV_COLUMNS);
int width = -1;
if (s != null) {
try {
width = Integer.parseInt(s);
}
catch (NumberFormatException e) {
log.log(Level.WARNING, "Could not parse ssh term width " + s);
}
}
return width;
}
代码示例来源:origin: org.jline/jline
Terminal terminal = TerminalBuilder.builder()
.name("JLine SSH")
.type(env.getEnv().get("TERM"))
.system(false)
.streams(in, out)
.build();
terminal.setSize(new Size(Integer.parseInt(env.getEnv().get("COLUMNS")),
Integer.parseInt(env.getEnv().get("LINES"))));
Attributes attr = terminal.getAttributes();
for (Map.Entry<PtyMode, Integer> e : env.getPtyModes().entrySet()) {
switch (e.getKey()) {
case VINTR:
env.addSignalListener(signals -> {
terminal.setSize(new Size(Integer.parseInt(env.getEnv().get("COLUMNS")),
Integer.parseInt(env.getEnv().get("LINES"))));
terminal.raise(Terminal.Signal.WINCH);
}, Signal.WINCH);
shell.accept(new Ssh.ShellParams(env.getEnv(), terminal, this::destroy));
} catch (Throwable t) {
t.printStackTrace();
代码示例来源:origin: org.crashub/crash.connectors.ssh
public SSHContext(Environment env) {
if (env == null) {
throw new NullPointerException("No null env");
}
//
Integer verase = env.getPtyModes().get(PtyMode.VERASE);
String LC_CTYPE = env.getEnv().get("LC_CTYPE");
Charset encoding;
if (LC_CTYPE != null) {
encoding = parseEncoding(LC_CTYPE);
} else {
encoding = null;
}
//
this.env = env;
this.verase = verase != null ? verase : -1;
this.encoding = encoding;
}
代码示例来源:origin: org.crsh/crsh.shell.ssh
public SSHContext(Environment env) {
if (env == null) {
throw new NullPointerException("No null env");
}
//
Integer verase = env.getPtyModes().get(PtyMode.VERASE);
//
this.env = env;
this.verase = verase != null ? verase : -1;
}
代码示例来源:origin: crashub/crash
public int getHeight() {
String s = env.getEnv().get(Environment.ENV_LINES);
int height = -1;
if (s != null) {
try {
height = Integer.parseInt(s);
}
catch (NumberFormatException e) {
log.log(Level.WARNING, "Could not parse ssh term height " + s);
}
}
return height;
}
代码示例来源:origin: org.jline/jline-remote-ssh
Terminal terminal = TerminalBuilder.builder()
.name("JLine SSH")
.type(env.getEnv().get("TERM"))
.system(false)
.streams(in, out)
.build();
terminal.setSize(new Size(Integer.parseInt(env.getEnv().get("COLUMNS")),
Integer.parseInt(env.getEnv().get("LINES"))));
Attributes attr = terminal.getAttributes();
for (Map.Entry<PtyMode, Integer> e : env.getPtyModes().entrySet()) {
switch (e.getKey()) {
case VINTR:
env.addSignalListener(signals -> {
terminal.setSize(new Size(Integer.parseInt(env.getEnv().get("COLUMNS")),
Integer.parseInt(env.getEnv().get("LINES"))));
terminal.raise(Terminal.Signal.WINCH);
}, Signal.WINCH);
shell.accept(new Ssh.ShellParams(env.getEnv(), terminal, this::destroy));
} catch (Throwable t) {
t.printStackTrace();
代码示例来源:origin: com.github.corda.crash/crash.connectors.ssh
public SSHContext(Environment env) {
if (env == null) {
throw new NullPointerException("No null env");
}
//
Integer verase = env.getPtyModes().get(PtyMode.VERASE);
String LC_CTYPE = env.getEnv().get("LC_CTYPE");
Charset encoding;
if (LC_CTYPE != null) {
encoding = parseEncoding(LC_CTYPE);
} else {
encoding = null;
}
//
this.env = env;
this.verase = verase != null ? verase : -1;
this.encoding = encoding;
}
代码示例来源:origin: org.apache.sshd/sshd-core
byte[] modes = buffer.getBytes();
Environment environment = getEnvironment();
Map<PtyMode, Integer> ptyModes = environment.getPtyModes();
代码示例来源:origin: com.github.corda.crash/crash.connectors.ssh
public String getProperty(String key)
{
return env.getEnv().get(key);
}
}
代码示例来源:origin: com.github.fonimus/spring-boot-ssh-shell-starter
public void run() {
LOGGER.debug("{}: run", session.toString());
Size size = new Size(Integer.parseInt(sshEnv.getEnv().get("COLUMNS")), Integer.parseInt(sshEnv.getEnv().get("LINES")));
try (ByteArrayOutputStream baos = new ByteArrayOutputStream();
PrintStream ps = new PrintStream(baos, true, StandardCharsets.UTF_8.name());
Terminal terminal = TerminalBuilder.builder().system(false).size(size).type(sshEnv.getEnv().get("TERM")).streams(is, os).build()) {
fill(attr, sshEnv.getPtyModes());
terminal.setAttributes(attr);
sshEnv.addSignalListener(signal -> {
terminal.setSize(new Size(
Integer.parseInt(sshEnv.getEnv().get("COLUMNS")),
Integer.parseInt(sshEnv.getEnv().get("LINES"))));
terminal.raise(Terminal.Signal.WINCH);
}, Signal.WINCH);
代码示例来源:origin: org.apache.sshd/sshd-core
@Override
public void start(Environment env) throws IOException {
Map<String, String> varsMap = resolveShellEnvironment(env.getEnv());
for (int i = 0; i < command.size(); i++) {
String cmd = command.get(i);
Map<PtyMode, ?> modes = resolveShellTtyOptions(env.getPtyModes());
out = new TtyFilterInputStream(process.getInputStream(), modes);
err = new TtyFilterInputStream(process.getErrorStream(), modes);
代码示例来源:origin: org.apache.sshd/sshd-osgi
byte[] modes = buffer.getBytes();
Environment environment = getEnvironment();
Map<PtyMode, Integer> ptyModes = environment.getPtyModes();
内容来源于网络,如有侵权,请联系作者删除!