창 제작자의 wxcopy 및 wxpaste 유틸리티를 사용했지만 최근의 Linux 버전 (또는 X 버전)이 손상된 것 같습니다. 보안이 강화되어 일치하도록 업데이트되지 않은 것 같습니다. 예를 들어 다음과 같은 작업을 수행 할 수 있습니다.
echo fred | wxcopy | tr "a-z" "A-Z" | wxpaste
출력 FRED를 얻으려면. (이것은 최종 wxpaste없이 동일한 것을 얻을 것이기 때문에 고안된 예입니다. 그러나 그것이 달성 할 수있는 것의 풍미를 제공한다고 생각합니다.)
그러나 "xcb"패키지를 사용하여 동일한 효과를 얻을 수 있습니다.이 패키지는 매우 가벼우 며 8 개의 클립 보드를 작은 (요약 한) 시각적으로 표시합니다.
나는 wxcopy / wxpaste를 내 취향에 좀 더 즐겁게 만들기 위해 wcopy / wpaste 년 전에 쉘 스크립트 쌍을 썼다. 오늘 밤 wxcopy / wxpaste 또는 xcb와 작동하도록 업데이트했습니다. 그것들은 그들이 필요로하는 것보다 조금 더 복잡해 지지만 여기에 붙여 넣을 것입니다-이 포럼에 너무 오래 걸리지 않기를 바랍니다.
다음은 wcopy입니다.
#!/bin/sh
#
# Provide some enhancements to the wxcopy command, which copies standard input
# to an X11 clipboard text buffer.
#
# Allow copying from stdin to any of the cutbuffers. Note that they are
# indexed counting from 0.
#
# Author: Luke Kendall
#
if [ `uname -s` = "Darwin" ]
then
WXCOPY=pbcopy
WXPASTE=pbpaste
else
WXCOPY=wxcopy
WXPASTE=wxpaste
BUFSPEC="-cutbuffer"
xcb -p 0 > /tmp/wc$$
if echo "fred$$" | wxcopy -cutbuffer 0 && [ `wxpaste` = "fred$$" ]
then
: # Great, they're actually working. Not common on modern Linuxes.
echo "working" > $HOME/.wcopyok
else
rm -f $HOME/.wcopyok
WXCOPY="xcb -s"
WXPASTE="xcb -p"
BUFSPEC=
fi
xcb -s 0 < /tmp/wc$$
fi
unset WXARGS
if [ $# = 0 ]
then
$WXCOPY ${WXCOPY_DEFS:-0}
else
MYNAME=`basename $0`
USAGE="usage: $MYNAME [ [0-9]... ] [$WXCOPY's args]"
numlist=true
for n
do
if $numlist && expr "x$n" : 'x[0-9][0-9]*$' > /dev/null
then
NUMARGS="$NUMARGS $n"
else
numlist=false
if [ "x$n" = "x-h" ]
then
echo "$USAGE" >&2
exit 0
else
WXARGS="$WXARGS $n"
fi
fi
done
set - $NUMARGS
$WXCOPY $WXCOPY_DEFS $WXARGS $BUFSPEC $1
ORIG="$1"
shift
for n
do
$WXPASTE $BUFSPEC $ORIG | $WXCOPY $WXCOPY_DEFS $WXARGS $BUFSPEC $n
done
fi
그리고 여기 wpaste가 있습니다 :
#!/bin/sh
#
# Provide some enhancements to the wxpaste command, which pastes from X11
# clipboard text buffers to standard output.
#
# Allow pasting to stdout from any of the cutbuffers. Note that they are
# indexed counting from 0.
#
# Author: Luke Kendall
#
if [ `uname -s` = "Darwin" ]
then
WXCOPY=pbcopy
WXPASTE=pbpaste
else
WXCOPY=wxcopy
WXPASTE=wxpaste
BUFSPEC="-cutbuffer"
if [ -s $HOME/.wcopyok ]
then
: # Great, they're actually working. Not common on modern Linuxes.
else
WXCOPY="xcb -s"
WXPASTE="xcb -p"
BUFSPEC=
fi
fi
if [ $# = 0 ]
then
$WXPASTE ${WXPASTE_DEFS:-0}
else
MYNAME=`basename $0`
USAGE="usage: $MYNAME [ [0-9]... ] [$WXPASTE's args]"
for n
do
if expr "x$n" : 'x[0-9][0-9]*$' > /dev/null
then
NUMARGS="$NUMARGS $n"
elif [ "x$n" = "x-h" ]
then
echo "$USAGE" >&2
exit 0
else
WXARGS="$WXARGS $n"
fi
done
set - $NUMARGS
: echo "Num args: $#"
for n
do
: echo "Doing: $WXPASTE $WXPASTE_DEFS $WXARGS $BUFSPEC $n"
$WXPASTE $WXPASTE_DEFS $WXARGS $BUFSPEC $n
done
fi
관심이 있다면 스크립트에 대한 매뉴얼 페이지도 작성했지만 wcopy.1x 및 wpaste.1x를 검색하여 스크립트를 찾을 수 있습니다 (아직 유효합니다).
xclip -sel clip
. 나는 개인적으로 항상 그것을 사용합니다