কমান্ড লাইন ক্লিপবোর্ড অ্যাক্সেস


10

আমার কিছু কাজকে আরও দক্ষ করার জন্য আমি একটি কমান্ড লাইন সরঞ্জাম তৈরি করছি। ক্লিপবোর্ডে আমার লিখিত সামগ্রী লিখতে সক্ষম হওয়া দরকার তবে কিছু কারণে এটি আমার পক্ষে কাজ করছে না।

আমি উভয়ই ইনস্টল করার চেষ্টা করেছি xclipএবং xselউভয়ের একই আচরণ রয়েছে: তারা ক্লিপবোর্ডে সূক্ষ্মভাবে পড়তে / লিখতে পারে, তবে আমি উবুন্টু জিইউআই থেকে এটি অ্যাক্সেস করতে পারি না।

আমি এটি টার্মিনালেও চেষ্টা করেছি ...

echo "hello" | xclip

তারপরে যদি Ctrl+ Shift+ হয় তবে Vআমি আমার আসল ক্লিপবোর্ড এন্ট্রি পাই, "হ্যালো" নয়। তবে, আমি যদি কন্টেন্টটি দখল করার চেষ্টা করি তবে xclipতা ঠিক কাজ করে।

মূল লক্ষ্যটি হ'ল ফায়ারফক্সে বা অন্য যে কোনও জিইউআই-ভিত্তিক প্রোগ্রামগুলি আমি ব্যবহার করছি তা সামগ্রীতে প্লেযোগ্য।

উত্তর:


16

ঠিক আছে, এক্সে কয়েকটি আলাদা ক্লিপবোর্ড রয়েছে :) ডিফল্টর মধ্যে একটি xclipঅনুলিপি পাঠ্য হ'ল "নির্বাচন বাফার" - সাধারণত আপনি কেবল নিজের মাউস দিয়ে কিছু পাঠ্য নির্বাচন করেন এবং তারপরে মাঝের মাউস বোতামটি দিয়ে এটি পেস্ট করতে পারেন। এই বাফারটি আপনি যেটি থেকে Ctrl-Shift-V দিয়ে পেস্ট করতে পারেন তার থেকে পৃথক।

চেষ্টা

echo "hello" | xclip -selection clipboard

এছাড়াও, দেখুন

man xclip

এক্সক্লিপ সম্পর্কে আরও তথ্যের জন্য


2
এফওয়াইআই, এও সংক্ষিপ্ত করা যেতে পারে xclip -sel clip। আমি ব্যক্তিগতভাবে সর্বদা এটি ব্যবহার করি
সের্গি কলডিয়াজহনি

God man xclip -selection specify which X selection to use, options are "primary" to use XA_PRIMARY (default), "secondary" for XA_SECONDARY or "clipboard" for XA_CLIPBOARD
শ্বর

মনে হচ্ছে ঘন ঘন ক্রিয়াটি "আপনার মাউস দিয়ে কিছু পাঠ্য নির্বাচন করা"। কীবোর্ডের সাহায্যে কি একই ক্রিয়া সম্ভব?
নিলন

3

নিজেকে জন্য সহজ আমি উপনাম নির্মিত করা xclipঅনুক্রমে এর অনুকরণমূলক কার্যকারিতা pbcopyএবং pbpasteম্যাক অপারেটিং সিস্টেম এক্স মধ্যে

sudo apt-get install xclip -y

তারপরে আপনার ~/.bashrcডাকনাম যুক্ত করতে সম্পাদনা করুন:

nano ~/.bashrc

এই নতুন লাইন যুক্ত করুন (আপনি ফাইলের শেষে এগুলি রাখতে পারেন):

alias pbcopy='xclip -selection clipboard'
alias pbpaste='xclip -selection clipboard -o'

সংরক্ষণ করুন এবং প্রস্থান করুন, তারপরে একটি নতুন শেল খুলুন বা source ~/.bashrcএলিয়াসগুলি ব্যবহার করতে চালান ।

আমার ব্লগ পোস্টে আরও বিশদ রয়েছে।


2

আমি উইন্ডো মেকার থেকে ডাব্লু এক্সকপি এবং ডাব্লু এক্সপাস্ট ইউটিলিটিগুলি ব্যবহার করতাম তবে সাম্প্রতিক লিনাক্স সংস্করণগুলি (বা এক্স সংস্করণগুলি) এগুলি ভেঙে গেছে বলে মনে হয় - আমার সন্দেহ হয় সুরক্ষা আরও কড়া করা হয়েছে এবং সেগুলি মেলাতে আপডেট হয়নি। যেমন আপনি যেমন কাজ করতে পারেন:

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 গুগল করে এটিগুলি (তারা এখনও বৈধ)


ম্যানপেজে হাইপারলিঙ্ক যুক্ত করতে আপনি নিজের উত্তরটি সম্পাদনা করতে পারেন। (আপনি নতুন এডি ব্যবহারকারী হলেও আপনার দুটি লিঙ্ক যোগ করতে সক্ষম হওয়া উচিত))
এলিয়াহ কাগন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.