This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Copy, paste and deleting characters in the openssh screen.


On 9 November 2011 16:31, Jeremy Bopp wrote:
> On 11/9/2011 08:38, gabier wrote:
>>
>> Hi,
>> I am experiencing daily frustration because I do not know how to get the
>> following features to my fingertips while controlling my Freenas/FreeBSD
>> server from my openssh console on a remote Windows computer.
>> 1) copy from windows document or browser and paste in the openssh console
>> 2) copy from the openssh console and paste either on another line of the
>> console or on a windows document
>
> While you can get this to work with the default Cygwin terminal (cmd.exe),

<pedantry>
Cmd.exe and the console window (as used by Cygwin) are separate
things. Windows automatically creates a console window when a console
program is invoked from Explorer. Cmd.exe is just one such console
program; Cygwin's bash.exe is another.
</pedantry>

> you would be better off installing the mintty package and using that for
> your terminal instead. ÂYou can configure it to behave like a typical xterm
> with respect to copying and pasting, so you may find that much more
> familiar.
>
> To copy and paste from a regular Windows program, highlight the text and
> press CRTL-C to copy as usual. ÂThen go to your mintty window and paste
> using the method you configured for it in its configuration dialog. ÂI think
> pressing SHIFT-INS should work by default, but there are other options
> available, including middle clicking (not the default IIRC).

Paste by middle-click is enabled by default too.

> To copy and paste from the mintty window, highlight the text and then copy
> using the method you configured for mintty. ÂI have my mintty configured to
> copy automatically when text is highlighted, but that's not the default as I
> recall.

It wasn't on by default originally, but it has been for a little while
now. Other ways include the Copy command in the right-click menu and
its Ctrl+Ins shortcut.

>ÂOnce the text is copied, paste into a Windows program as usual with
> CRTL-V or paste back into the mintty window as discussed previously.

Note besides: Ctrl+Ins for copy and Shift+Ins for paste are standard
Windows shortcuts too. Ctrl+C and Ctrl+V can't reasonably be used as
shortcuts by a terminal because they're used by many terminal
applications. However, there's an option on the Keys page of mintty's
options dialog that allows Ctrl+Shift+C and Ctrl+Shift+V to be used
for copy/paste.

>> 3) correct my openssh commands by deleting characters with the "backwards"
>> stroke. Sometimes it works, sometimes not, it seems to depend on the type
>> of
>> login! The local user (Cygwin) seems to work, the root user on the freebsd
>> server seems also to work, but another user on the freebsd server does not
>> work : if I hit the "backward stroke" it prints a triangle (meaning I
>> suppose unknown character) and there is no way to correct this but to send
>> the wrong command and retype the whole command. With long commands it can
>> be very frustrating.

What sort of server is it?

> This may get corrected automatically by using mintty as your terminal, but
> it's really not a Cygwin-specific issue. ÂI've had similar problems in the
> past and was able to work around them by pressing either CTRL-H or
> CTRL-BACKSPACE.
>
> My vague understanding of the problem is that the terminal sends a
> particular character in response to the backspace key, which is configurable
> in many terminals.

Yep. Ye olde and ever-exciting ^? vs ^H issue.

>ÂMintty is one such terminal, but the cmd terminal is not.

Actually the Cygwin console's backspace character can be changed too,
but only through a control sequence:

For ^H: echo -ne '\e[?67h'
For ^?: echo -ne '\e[?67l'

Both the console and mintty use ^? by default. Linux terminals also
usually default to ^?, but BSDs might well default to ^H.

> Without the ability to change the character sent by the terminal
> program, you would need to be able to configure the remote applications to
> do the right thing with whatever character *is* sent, but that can be a tall
> order due to the different ways you may have to configure each application.

You could try the following command on the remote system to tell it
that the backspace key sends ^?:

stty erase '^?'

(Many ssh servers set that automatically in accordance with the
setting on the client side, but apparently some don't.)

Andy

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]