Top Description Fields Constructors Methods
org.apache.sshd.client.channel

public Class PtyCapableChannelSession

extends ChannelSession
implements PtyChannelConfigurationMutator
Class Inheritance
All Implemented Interfaces
org.apache.sshd.common.channel.PtyChannelConfigurationMutator, org.apache.sshd.common.channel.PtyChannelConfigurationHolder
Known Direct Subclasses
org.apache.sshd.client.channel.ChannelExec, org.apache.sshd.client.channel.ChannelShell
Imports
java.io.IOException, java.util.Collections, .Map, org.apache.sshd.common.SshConstants, org.apache.sshd.common.channel.PtyChannelConfiguration, .PtyChannelConfigurationHolder, .PtyChannelConfigurationMutator, .PtyMode, org.apache.sshd.common.session.Session, org.apache.sshd.common.util.GenericUtils, .MapEntryUtils, org.apache.sshd.common.util.buffer.Buffer, .ByteArrayBuffer, org.apache.sshd.core.CoreModuleProperties

Serves as the base channel session for executing remote commands - including a full shell

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();
     }
}

Author
Apache MINA SSHD Project

Field Summary

Modifier and TypeField and Description
private boolean
private final PtyChannelConfiguration
private boolean
Inherited from org.apache.sshd.client.channel.ChannelSession:
pumperpumperService

Constructor Summary

AccessConstructor and Description
public
PtyCapableChannelSession(boolean usePty, PtyChannelConfigurationHolder configHolder, Map<String, ?> env)

Method Summary

Modifier and TypeMethod and Description
protected void
public int
public int
public int
public Map<PtyMode, Integer>
public String
public int
public boolean
public boolean
protected String
public void
sendWindowChange(int columns, int lines)

public void
sendWindowChange(int columns, int lines, int height, int width)

public void
setAgentForwarding(boolean agentForwarding)

public void
public void
public void
public void
public void
public void
public void
public void
setUsePty(boolean usePty)

Inherited from org.apache.sshd.client.channel.ChannelSession:
handleInternalRequesthandleXonXoffsendEnvVariablessetEnv

Field Detail

agentForwardingback to summary
private boolean agentForwarding
configback to summary
private final PtyChannelConfiguration config
usePtyback to summary
private boolean usePty

Constructor Detail

PtyCapableChannelSessionback to summary
public PtyCapableChannelSession(boolean usePty, PtyChannelConfigurationHolder configHolder, Map<String, ?> env)

Method Detail

doOpenPtyback to summary
protected void doOpenPty() throws IOException
getPtyColumnsback to summary
public int getPtyColumns()

Implements org.apache.sshd.common.channel.PtyChannelConfigurationHolder.getPtyColumns.

Annotations
@Override
getPtyHeightback to summary
public int getPtyHeight()

Implements org.apache.sshd.common.channel.PtyChannelConfigurationHolder.getPtyHeight.

Annotations
@Override
getPtyLinesback to summary
public int getPtyLines()

Implements org.apache.sshd.common.channel.PtyChannelConfigurationHolder.getPtyLines.

Annotations
@Override
getPtyModesback to summary
public Map<PtyMode, Integer> getPtyModes()

Implements org.apache.sshd.common.channel.PtyChannelConfigurationHolder.getPtyModes.

Annotations
@Override
getPtyTypeback to summary
public String getPtyType()

Implements org.apache.sshd.common.channel.PtyChannelConfigurationHolder.getPtyType.

Annotations
@Override
getPtyWidthback to summary
public int getPtyWidth()

Implements org.apache.sshd.common.channel.PtyChannelConfigurationHolder.getPtyWidth.

Annotations
@Override
isAgentForwardingback to summary
public boolean isAgentForwarding()
isUsePtyback to summary
public boolean isUsePty()
resolvePtyTypeback to summary
protected String resolvePtyType(PtyChannelConfigurationHolder configHolder)
sendWindowChangeback to summary
public void sendWindowChange(int columns, int lines) throws IOException
sendWindowChangeback to summary
public void sendWindowChange(int columns, int lines, int height, int width) throws IOException
setAgentForwardingback to summary
public void setAgentForwarding(boolean agentForwarding)
setPtyColumnsback to summary
public void setPtyColumns(int ptyColumns)

Implements org.apache.sshd.common.channel.PtyChannelConfigurationMutator.setPtyColumns.

Annotations
@Override
setPtyHeightback to summary
public void setPtyHeight(int ptyHeight)

Implements org.apache.sshd.common.channel.PtyChannelConfigurationMutator.setPtyHeight.

Annotations
@Override
setPtyLinesback to summary
public void setPtyLines(int ptyLines)

Implements org.apache.sshd.common.channel.PtyChannelConfigurationMutator.setPtyLines.

Annotations
@Override
setPtyModesback to summary
public void setPtyModes(Map<PtyMode, Integer> ptyModes)

Implements org.apache.sshd.common.channel.PtyChannelConfigurationMutator.setPtyModes.

Annotations
@Override
setPtyTypeback to summary
public void setPtyType(String ptyType)

Implements org.apache.sshd.common.channel.PtyChannelConfigurationMutator.setPtyType.

Annotations
@Override
setPtyWidthback to summary
public void setPtyWidth(int ptyWidth)

Implements org.apache.sshd.common.channel.PtyChannelConfigurationMutator.setPtyWidth.

Annotations
@Override
setupSensibleDefaultPtyback to summary
public void setupSensibleDefaultPty()
setUsePtyback to summary
public void setUsePty(boolean usePty)