আমি উইন্ডো মেকার থেকে ডাব্লু এক্সকপি এবং ডাব্লু এক্সপাস্ট ইউটিলিটিগুলি ব্যবহার করতাম তবে সাম্প্রতিক লিনাক্স সংস্করণগুলি (বা এক্স সংস্করণগুলি) এগুলি ভেঙে গেছে বলে মনে হয় - আমার সন্দেহ হয় সুরক্ষা আরও কড়া করা হয়েছে এবং সেগুলি মেলাতে আপডেট হয়নি। যেমন আপনি যেমন কাজ করতে পারেন:
echo fred | wxcopy | tr "a-z" "A-Z" | wxpaste
আউটপুট FRED পেতে। (এটি একটি স্বীকৃত উদাহরণ, যেহেতু আপনি চূড়ান্ত ডাব্লু এক্সপাস্ট ছাড়াই একই জিনিসটি পেতে চাইতেন তবে আমি মনে করি এটি আপনি কী অর্জন করতে পারবেন তার স্বাদ দেয় vor)
তবে, আপনি "এক্সসিবি" প্যাকেজটি ব্যবহার করে একই প্রভাব অর্জন করতে পারেন যা অবিশ্বাস্যভাবে হালকা ওজনের এবং 8 টি ক্লিপবোর্ডের একটি ক্ষুদ্র (সংক্ষিপ্ত) ভিজ্যুয়াল প্রদর্শনও সরবরাহ করে।
বছর খানেক আগে ডাব্লুএক্সকপি / ডাব্লু এক্সপাস্টকে আমার স্বাদ থেকে আরও সুখকর করে তুলতে আমি একজোড়া শেল স্ক্রিপ্টগুলি 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
। আমি ব্যক্তিগতভাবে সর্বদা এটি ব্যবহার করি