Note
all the
configuration changes via the various setXXX methods must be made before the channel is actually open.
If they are invoked afterwards then they have no effect (silently ignored).
A typical code snippet would be:
try (client = SshClient.setUpDefaultClient()) {
client.start();
try (ClientSession s = client.connect(getCurrentTestName(), "localhost", port).verify(CONNECT_TIMEOUT).getSession()) {
s.addPasswordIdentity(getCurrentTestName());
s.auth().verify(AUTH_TIMEOUT);
try (ChannelExec shell = s.createExecChannel("my super duper command")) {
shell.setEnv("var1", "val1");
shell.setEnv("var2", "val2");
...etc...
shell.setPtyType(...);
shell.setPtyLines(...);
...etc...
shell.open().verify(OPEN_TIMEOUT);
shell.waitFor(ClientChannel.CLOSED, TimeUnit.SECONDS.toMillis(17L)); // can use zero for infinite wait
Integer status = shell.getExitStatus();
if (status.intValue() != 0) {
...error...
}
}
} finally {
client.stop();
}
}
| Modifier and Type | Field and Description |
|---|---|
| private boolean | |
| private final PtyChannelConfiguration | |
| private boolean |
| Access | Constructor and Description |
|---|---|
| public | PtyCapableChannelSession(boolean usePty, PtyChannelConfigurationHolder configHolder, Map<String, ?> env)
|
| agentForwarding | back to summary |
|---|---|
| private boolean agentForwarding | |
| config | back to summary |
|---|---|
| private final PtyChannelConfiguration config | |
| usePty | back to summary |
|---|---|
| private boolean usePty | |
| PtyCapableChannelSession | back to summary |
|---|---|
| public PtyCapableChannelSession(boolean usePty, PtyChannelConfigurationHolder configHolder, Map<String, ?> env) | |
| doOpenPty | back to summary |
|---|---|
| protected void doOpenPty() throws IOException | |
| getPtyColumns | back to summary |
|---|---|
| public int getPtyColumns() Implements org.
| |
| getPtyHeight | back to summary |
|---|---|
| public int getPtyHeight() Implements org.
| |
| getPtyLines | back to summary |
|---|---|
| public int getPtyLines() Implements org.
| |
| getPtyModes | back to summary |
|---|---|
| public Map Implements org.
| |
| getPtyType | back to summary |
|---|---|
| public String getPtyType() Implements org.
| |
| getPtyWidth | back to summary |
|---|---|
| public int getPtyWidth() Implements org.
| |
| isAgentForwarding | back to summary |
|---|---|
| public boolean isAgentForwarding() | |
| isUsePty | back to summary |
|---|---|
| public boolean isUsePty() | |
| resolvePtyType | back to summary |
|---|---|
| protected String resolvePtyType(PtyChannelConfigurationHolder configHolder) | |
| sendWindowChange | back to summary |
|---|---|
| public void sendWindowChange(int columns, int lines) throws IOException | |
| sendWindowChange | back to summary |
|---|---|
| public void sendWindowChange(int columns, int lines, int height, int width) throws IOException | |
| setAgentForwarding | back to summary |
|---|---|
| public void setAgentForwarding(boolean agentForwarding) | |
| setPtyColumns | back to summary |
|---|---|
| public void setPtyColumns(int ptyColumns) Implements org.
| |
| setPtyHeight | back to summary |
|---|---|
| public void setPtyHeight(int ptyHeight) Implements org.
| |
| setPtyLines | back to summary |
|---|---|
| public void setPtyLines(int ptyLines) Implements org.
| |
| setPtyModes | back to summary |
|---|---|
| public void setPtyModes(Map<PtyMode, Integer> ptyModes) Implements org.
| |
| setPtyType | back to summary |
|---|---|
| public void setPtyType(String ptyType) Implements org.
| |
| setPtyWidth | back to summary |
|---|---|
| public void setPtyWidth(int ptyWidth) Implements org.
| |
| setupSensibleDefaultPty | back to summary |
|---|---|
| public void setupSensibleDefaultPty() | |
| setUsePty | back to summary |
|---|---|
| public void setUsePty(boolean usePty) | |