14.04-এ `জিনোম-স্ক্রীনসেভার-কমান্ড ছাড়াই আনলক করুন`


10

আমি 13.10-এ সুখে ব্লুপ্রক্সিমিটি ব্যবহার করছি, তবে 14.04 এ আপগ্রেড হওয়ার পরে এটি কেবল তখনই লক হয়ে যায় যখন আমার ফোনটি সীমার বাইরে চলে যায় (ব্যবহার করে gnome-screensaver-command -l), তবে এটি আনলক করে না gnome-screensaver-command -d

এখন gnome-screensaver-command -dকাজ না করার কারণটি বাগের কারণ ।

তবে এই বাগের প্রতিবেদনে উল্লেখ করা হয়েছে যে জিনোম-স্ক্রিনসেভার আর বিশ্বস্ত হিসাবে ব্যবহার করা হয় না এবং তাই এটি gnome-screensaver-commandপর্যায়ক্রমে বেরিয়ে আসার প্রত্যাশা করা হয়, যা আদেশটি কেন কাজ করে না তার সাথে সম্পর্কিতও হতে পারে।

সুতরাং আমার প্রশ্নটি হ'ল, যদি জিনোম-স্ক্রিনসেভারটি প্রতিস্থাপন করা হয়, তবে নির্ভর না করে পর্দা আনলক করার নতুন আদেশটি কী হবে gnome-screensaver-command?


@ ব্রাইয়াম এই প্রশ্নটি 14.04 এবং তার পরে নির্দিষ্ট। আপনি ট্যাগটি সরালেন কেন? gnome-screensaver-commandপূর্ববর্তী সংস্করণগুলিতে ব্যবহার এড়াতে কোনও কারণ নেই !
d_inevable

আপনি নিজের উত্তর দিয়েছেন: 14.04 এবং তারপরে । 14.04 কেবল তখনই ব্যবহার করা উচিত যদি কেবলমাত্র এটিই একমাত্র সংস্করণে প্রভাবিত হয়, যা 14.10 এর পরে এটি সত্য নয়। বিটিডাব্লু, বাগ সম্পর্কে জিজ্ঞাসা করবেন না।
ব্রিয়াম

@ ব্রাইয়াম ১.আমার পরে জানিনা !! আমি কিভাবে পারি? পরবর্তী কোনও সংস্করণ নেই। এটি এখন কেবল 14.04। এবং আমি বাগ সম্পর্কে জিজ্ঞাসা করিনি। সুতরাং আপনি যদি আপত্তি না করেন তবে আমি আপনার সম্পাদনাটি ফিরিয়ে দেব।
d_inevable

সিরিয়াসলি? cdimage.ubuntu.com/daily-live/c موجودہ ব্যবহার করে দেখুন।
ব্রায়াম

1
@ ব্রাইয়াম এটি প্রকাশ নয়।
d_inevable

উত্তর:


6

এটি আমার পক্ষে কাজ করেছে:

কমান্ড লাইনে:

gsettings set org.gnome.desktop.a11y.applications screen-keyboard-enabled true

অন-স্ক্রীন কীবোর্ডটি যখন আপনি প্রথম সাইন ইন করেন তা উপস্থিত হয় তবে আপনি এটি বন্ধ করতে পারেন।

এই gnome-screensaver-command -dকাজ পরে ।

উপর benshayden থেকে নেওয়া https://bugs.launchpad.net/ubuntu/+source/gnome-screensaver/+bug/1307163


এটি অন্যান্য উত্তরের চেয়ে অনেক বেশি রেট হওয়া উচিত। এই স্ক্রিপ্টগুলিতে আপনার পাসওয়ার্ডটি রাখা উচিত নয়, এটি সত্যিই খারাপ!
প্যাট্রিক কর্নেলিসসেন

3

দুর্ভাগ্যক্রমে এটি করার কোনও উপায় নেই :(

আপডেট - আমি একটি উপায় খুঁজে পেয়েছি। আমার নতুন উত্তর দেখুন

এটি আমার পূর্ববর্তী সমাধান - এটি ব্যবহার করা অপ্রয়োজনীয়, আপনি যদি আপনার ফোনটি হারিয়ে ফেলেন তবে তা আনলকযোগ্য নয়; এটি আনলক করতে আপনাকে পুনরায় চালু করতে হবে

অবশেষে আমি একটি সমাধান নিয়ে এসেছি - এটি প্রথম স্থানে লক করবেন না। এটি অদ্ভুত লাগতে পারে - সহ্য করুন।

এটি লক করার পরিবর্তে, আমি মাউস এবং কীবোর্ড অক্ষম করে রেখেছি, সমস্ত ডেস্কটপ আইকন লুকিয়ে রেখেছি এবং তারপরে ডেস্কটপে স্যুইচ করেছি। আপনি সম্ভবত আরও স্টাফ লুকিয়ে রাখতে পারেন (লঞ্চারের মতো) তবে আমার কাছে এটি লুকানো আছে।

এই কমান্ডটির জন্য কিছুটা সেটআপ দরকার।

ইনস্টল করুন: এক্সডটুল - sudo apt-get install xdotool

প্রবেশ করুন: xinput --listএবং আপনার মাউস এবং কীবোর্ড আইডিগুলি নোট করুন।

আমি এই কমান্ডগুলি এডিট করার পরামর্শ দেব gedit

এটি লকার হিসাবে কাজ করে।

xinput set-prop <Keyboard ID> 'Device Enabled' 0 && xinput set-prop <Mouse ID> 'Device Enabled' 0 && gsettings set org.gnome.desktop.background show-desktop-icons false && wmctrl -k on

এটি আনলক হিসাবে কাজ করে।

xinput set-prop <Keyboard ID> 'Device Enabled' 1 && xinput set-prop <Mouse ID> 'Device Enabled' 1 && gsettings set org.gnome.desktop.background show-desktop-icons true && wmctrl -k off

উভয় কমান্ডে এবং তাদের নিজ নিজ সংখ্যাগুলিতে পরিবর্তন করুন।

এই ক্রম:

  • কীবোর্ড অক্ষম / সক্ষম করে
  • মাউস অক্ষম / সক্ষম করে
  • আপনার সমস্ত ডেস্কটপ আইকন লুকিয়ে / দেখায়
  • টোগলগুলি আপনার ডেস্কটপ দেখাচ্ছে।

একটি গুরুত্বপূর্ণ বিষয় মনে রাখবেন - এটি আপনার ব্লুটুথ ডিভাইস ছাড়া পূর্বাবস্থায় ফেরা যাবে না। যদি কোনও কারণে এটি ব্যর্থ হয়, আপনাকে পুনরায় চালু করতে হবে। এ কারণে, কীবোর্ডটি সক্ষম করে রেখে দেওয়া এবং একটি নির্বাচিত শর্টকাটে আনলক কমান্ড সেট আপ করার পরামর্শ দেওয়া হতে পারে।


আরে সুন্দর ধারণা! সমস্ত কিবোর্ড ইনপুট উপেক্ষা করার পরিবর্তে যে কোনও কীবোর্ড ইনপুট স্ক্রিনটি লক করে দেবে (ব্লুটুথ ডিভাইসটি ছাড়া এটি আনলক করার সুযোগ দিবে) তা কি এমন পরিবর্তন করা সম্ভব?
d_inevable

ওটা আগের থেকে ভালো! আমি অন্য একটি ধারণা পোস্ট করতে চলেছিলাম, তবে আমি এটিতে কাজ করব!
টিম

@ ডি_াইনাইভেবল আমার নতুন উত্তরটি দেখুন, এটি আরও সুন্দর (বিশেষত ২ য় পদ্ধতি)। আমি নিশ্চিত যে এটি কার্যকর।
টিম

1

সুতরাং, আমি "শ্রেষ্ঠ" পথ এই কাজ করতে মূর্ত (অপ্রামাণিক যেহেতু আমরা এখনও একটি পাসওয়ার্ড সংরক্ষণ করছেন এবং, একটা জিনিস সেটিকে টাইপ faking ,) হবে যেমন আমি উপরের মন্তব্য, পাসওয়ার্ড এনক্রিপ্ট করতে এন্ট্রি ইউএসবি কী। এটি কোনও স্ক্রিপ্টের সাথে কিছুটা অগোছালো, তাই আমি কী ঘটছে তা ব্যাখ্যা করব।

এক্সপ্যাথ দিয়ে /etc/pamusb.conf এর মাধ্যমে বর্তমান ব্যবহারকারীর জন্য ডিভাইসগুলি গণনা করা হয়; এরপরে প্রতিটি এক্সপিথ ব্যবহার করে তার ইউআইডি দিয়ে মেটানো হয় এবং ইউইউডি ব্ল্যাকিড ব্যবহার করে কোনও ডিভাইসে ম্যাপ করে।

আপনার কাছে লক করা, শো ডিভাইস আনলক করা বা আপনার কী সেট আপ করার পছন্দ রয়েছে। আপনি যখন সেটআপ চালান, এটি উপস্থিত না থাকলে এটি ~ / .ssh / pamusb_rsa তৈরি করবে। তারপরে আপনাকে একটি ডিভাইস বাছাই করতে বলা হবে (বা না থাকলে কেবল একটিই থাকে) এবং আপনার পাসওয়ার্ড লিখতে বলা হবে। আপনার পিডাব্লু stored ডিভাইস} /। পামসব / .auth এ সংরক্ষণ করা হবে, এনক্রিপ্ট করা হবে।

আপনি যখন আনলকটি চালান, তখন ডিভাইসগুলি আবার গণিত হয় এবং /.pamusb/.auth ফাইলের জন্য একে একে পরীক্ষা করা হয়। যখন কারও দাগ দেখা যায়, ডিক্রিপশন চেষ্টা করা হবে এবং যদি সফল হয় তবে এই মুহুর্তে পাঠ্য স্বীকার করার ক্ষেত্রে যা কিছু ঘটবে তাতে আপনার পাসওয়ার্ড টাইপ করতে ব্যবহৃত হবে। এটা করবে না শুধুমাত্র যখন অধিবেশন লক করা আছে, তাই আশা করছি, এই না খুব খারাপ এক্সপোজ যাচ্ছে চালানোর অনুমতি দেয়।

আমি এই named / .bin / unityক্য-লক-নিয়ন্ত্রণের নামকরণ করেছি (~ / .bin আমার পথে চলছে) এবং পামকন্টে আমার এজেন্ট হিসাবে "unityক্য-লক-নিয়ন্ত্রণ লক" এবং "unityক্য-লক-নিয়ন্ত্রণ আনলক" আছে ।

#!/bin/bash
PAM_KEY=${HOME}/.ssh/pamusb_rsa
devices() {
    local NAMES NAME UUID DEV
    NAMES=$(xmllint /etc/pamusb.conf --xpath '//user[@id="'$USER'"]/device')
    NAMES=${NAMES//"<device>"/""}
    NAMES=${NAMES//'</device>'/' '}
    for NAME in $NAMES; do
        UUID=$(xmllint /etc/pamusb.conf --xpath '//device[@id="'$NAME'"]/volume_uuid/text()')
        DEV=$(blkid -U $UUID)
        if [[ -n $DEV ]]; then
            echo ${NAME}:${UUID}:${DEV}
        fi
    done
}
locked() {
    LS=$(ps -A -o cmd | grep 'unity-panel-service --lockscreen-mode' | grep -v grep)
    if [[ -z $LS ]]; then
        return -1
    else
        return 0
    fi
}
mounted() {
    MOUNTED=$(grep $1 /proc/mounts)
    if [[ -z $MOUNTED ]]; then
        return -1
    fi
    return 0
}
mount_point() {
    cat /proc/mounts | grep $1 | cut -d \  -f 2
}
case "$1" in
    devices)
        devices
        exit 0
    ;;
    lock)
        setsid paplay /usr/share/sounds/ubuntu/stereo/service-logout.ogg &
        setsid gnome-screensaver-command -l &
        sleep 1
        exit
    ;;
    unlock)
        if ! locked; then
            echo "Screen is not locked" >&2
            exit 1
        fi
        if [[ ! -f $PAM_KEY ]]; then
            echo "${PAM_KEY} does not exist; please run $0 setup." >&2
            exit 1
        fi

        DEVICES=$(devices)
        for device in $DEVICES; do
            NAME=$(echo $device | cut -d : -f 1)
            UUID=$(echo $device | cut -d : -f 2)
            DEV=$(echo $device | cut -d : -f 3)
            mounted $DEV
            MOUNTED=$?
            if [[ $MOUNTED -ne 0 ]]; then
                udisksctl mount -b $DEV
            fi
            AUTH_FILE=$(mount_point $DEV)/.pamusb/.auth
            if [[ -f $AUTH_FILE ]]; then
                PASS=$(openssl rsautl -decrypt -inkey $PAM_KEY -in $AUTH_FILE)
            fi
            if [[ $MOUNTED -ne 0 ]]; then
                udisksctl unmount -b $DEV
            fi
            if [[ -n $PASS ]]; then
                xdotool type --delay 0 "${PASS}" 
                xdotool key Return
                sleep 1
                if locked; then
                    setsid paplay /usr/share/sounds/ubuntu/stereo/service-login.ogg &
                else
                    setsid paplay /usr/share/sounds/ubuntu/stereo/dialog-warning.ogg &
                fi
                exit 0
            fi
        done
        echo "Did not find unlock key" >&2
        exit 1
    ;;
    setup)
        echo "This will set up an OpenSSL key, and encrypt your password to be stored"
        echo "on a pamusb authenticator."
        echo "-----"
        if [[ ! -d ${HOME}/.ecryptfs || ! -d ${HOME}/.Private ]]; then
            echo "Warning: Home folder is NOT encrypted" >&2
            read -p "Continue (y/N):" conf
            if [[ -z $conf ]]; then exit 1; fi
            if [[ $conf == "n" || $conf == "N" ]]; then exit 1; fi
        fi
        mkdir -p $(dirname $PAM_KEY)
        if [[ ! -f $PAM_KEY ]]; then
            openssl genrsa -out $PAM_KEY 1024
        fi
        DEVICES=$(devices)
        if [[ "${#DEVICES[@]}" -eq 1 ]]; then
            device="${DEVICES[0]}"
        else
            echo "Please select the device you would like to contain your encrypted password"       
            for i in "${!DEVICES[@]}"; do
                echo "$i: ${DEVICES[$i]}"
            done
            read selection
            device="${DEVICES[$selection]}"
        fi
        NAME=$(echo $device | cut -d : -f 1)
        UUID=$(echo $device | cut -d : -f 2)
        DEV=$(echo $device | cut -d : -f 3)

        mounted $DEV
        MOUNTED=$?
        if [[ $MOUNTED -ne 0 ]]; then
            echo "${NAME} is not mounted; attempting mount"
            udisksctl mount -b $DEV
        fi
        AUTH_FILE=$(mount_point $DEV)/.pamusb/.auth
        if [[ -f $AUTH_FILE ]]; then
            echo "Storing encrypted password to ${DEVICES[0]}"
            read -sp "Please enter your UNIX password:" PASS
            echo ""
            echo $PASS | openssl rsautl -encrypt -inkey $PAM_KEY -out $AUTH_FILE
        fi
        if [[ $MOUNTED -ne 0 ]]; then
            echo "${NAME} was not mounted; unmounting"
            udisksctl unmount -b $DEV
        fi
        exit 0
    ;;
    *)
        echo "Control for lock screen"
        echo $0 '{start|stop|devices|setup}'
        exit 1
    ;;
esac

0

হালনাগাদ! সাধারণ লক স্ক্রিন ব্যবহার করার উপায় আছে! হ্যাঁ!

আমি জানি না এটি কতটা নিরাপদ (আপনার পাসওয়ার্ডটি সরলরেখায় সংরক্ষণ করা) তবে আমি মনে করি এটি সবচেয়ে ভাল possible

এটি লক কমান্ড: gnome-screensaver -d

এখানে 2 টি আনলক আদেশ রয়েছে:

No1:

এটি প্রথম আনলক আদেশ:

gnome-screensaver -d && xdotool type mypassword12 && xdotool key Return

ক্লিকটি হ'ল এটি জাগ্রত করা (এটি মাউস সরানোর কারণে লগইন বাক্সের ভিতরে ক্লিক করা উচিত), এবং "ঘুমন্ত" কালো পর্দার পরিবর্তে দুর্দান্ত নতুন লক স্ক্রিনটি দেখায়।

তারপরে এটি mypassword123!পাঠ্য বাক্সে এন্টার দিয়ে জমা দেওয়ার জন্য টাইপ করে।

এটি গুরুত্বপূর্ণ। কোনও কারণে - সম্ভবত xdotool (কীবোর্ড শর্টকাট) এর জন্য ব্যবহৃত বোঝার কারণেই - আপনি ডাবল অক্ষর প্রবেশ করতে পারবেন না। এটি পেতে, প্রতিটি ডাবল অক্ষরে 2 টি কমান্ড বিভক্ত করুন (উপরে হিসাবে) এছাড়াও, সংখ্যাগুলির নিজস্ব নিজস্ব, অক্ষর থেকে পৃথক কমান্ড থাকতে হবে (উপরেও)। পরিশেষে, রিটার্ন কী-এর মতো সংশোধক (যেমন শিফট) এর পৃথক একটি প্রয়োজন need


No2:

এটি দ্বিতীয়টি। এটি কিছুটা ভাল এবং হ্যাকিশ কম, তবে অনেকগুলি সেটআপ দরকার requires

প্রথম ক্রিয়াটি ইনস্টল করুন:

sudo apt-get install actionaz

একটি নতুন স্ক্রিপ্ট খুলুন এবং আপনার প্রবাহে সঠিক আইটেমগুলিতে টানুন। (আপনি সম্পূর্ণটি ডাউনলোড করতে পারেন এখানে

  1. বিরতি দিন: 3 সেকেন্ড প্রবেশ করান।
  2. ক্লিক করুন: 165:555অবস্থান বাক্সে অনুলিপি করুন এবং আটকান । (স্ক্রিনের উপর নির্ভর করে এটি আলাদা হতে পারে sure এটি পাসওয়ার্ড বাক্সে ক্লিক করছে তা নিশ্চিত করুন, অন্যথায় এটি কাজ করে না)।
  3. পাঠ্য লিখুন: বাক্সে আপনার পাসওয়ার্ড লিখুন
  4. কী: বাক্সে ক্লিক করুন এবং ফিরে টিপুন

এটি আপনার হোম ফোল্ডারে আনলক.এএসসিআর হিসাবে সংরক্ষণ করুন (বা কোনও নাম - আমি কেবল বিজ্ঞাপনটি দিতে চাইনি যে এতে আমার পাসওয়ার্ড রয়েছে)

আপনার প্রক্সিমিটি কমান্ডটি সেট আপ করুন:

xdotool mousemove 0 0 && actionaz unlock.ascr -ex

মাউস মুভ এটি জাগিয়ে তোলে, এবং বিকল্পগুলি স্ক্রিপ্টটি কার্যকর করতে এবং তারপরে শেষে প্রস্থান করতে বলে।


আপনি যদি নিজের ডিভাইসটি হারিয়ে ফেলেন তবে আপনি সর্বদা আপনার পাসওয়ার্ড টাইপ করতে পারেন, তাই এটি বিপরীত।


2
আরে, এটি দেখতে বেশ ভাল লাগছে, তবে দুর্ভাগ্যক্রমে পরিষ্কার পাঠ্যে পাসওয়ার্ড সংরক্ষণ করা বিকল্প নয়। মূল হিসাবে এটির প্রায় খারাপ হিসাবে চলমান সবকিছু যেমন আমার ব্যবহারকারীর sudoers তালিকায় রয়েছে। তবে আমি মনে করি আপনার দুটি উত্তরের সংমিশ্রণটি কাজ করবে। আমি যত তাড়াতাড়ি সম্ভব কিছু চেষ্টা করব। মাউসটি সরানো না হওয়া পর্যন্ত মূলত পর্দাটি ডিমে করুন, কোনও কী চাপানো হবে না বা ব্লুটুথ ডিভাইসটি আবার পরিসীমাতে ফিরে আসবে। যদি মাউস মুভ বা কী টিপে থাকে তবে স্ক্রিনটি আবার চালু করুন এবং চালনা করুন gnome-screensaver-command -lযাতে ব্লুটুথ ডিভাইসটি অনুপস্থিত থাকাকালীন কোনও পাসওয়ার্ড প্রবেশ করা যায়। আমি মনে করি এটি করণীয় হওয়া উচিত।
d_inevable

আমি খুব দ্রুত 'মাউস মুভ' বিকল্পটি দেখেছিলাম ... আমি ভাবছিলাম যে এক্স এটি করতে সক্ষম হতে পারে? আপনি এটি সেট আপ করতে পারেন যে মাউস xiv উইন্ডোটির উপরে চলে যায়, এবং যদি আউটপুট পরিবর্তন হয় তবে আপনি জানেন যে কিছু আছে ঘটেছিলো.
টিম

সম্মত হন, সরল পাঠ্যে পাসওয়ার্ড সংরক্ষণ করা বেশ খারাপ। আপনার হোমডির এনক্রিপ্ট করা - যেমন আমি মনে করি উবুন্টুতে এখন ডিফল্ট - যদিও এটি কিছুটা খারাপ হয়ে যাবে। আমি এটির সাথে কিছুটা খেলা করেছি, এবং আসলে সমাধানটি খুব সহজেই খুঁজে পেয়েছি # 1 আরও সহজ, এবং সত্যিই এটিকে সমস্ত হ্যাকিশ বিবেচনা করবেন না। একটি ছোট পরিবর্তন যদিও। মাউসমোভের পরিবর্তে, আমি gnome-screensaver -dএখনও এটি রেখে দিয়েছি যে এখনও পর্দা জাগে এবং আমাকে আরও ছোট করতে সক্ষম করে sleep(আমি এটি এখন 0.1 এ সেট করে ফেলেছি, তবে আশ্চর্য হয়েছি যে এটি আদৌ প্রয়োজন কিনা)
ওয়াউটার ভ্যান ভিলেট

আমি ভাবছিলাম যে আমি আমার পাসওয়ার্ড দিয়ে কীটিতে একটি ফাইল লিখতে পারি, .ssh / id_rsa থেকে আমার কীটি এনক্রিপ্ট করে এবং ডিক্রিপ্ট করতে একটি স্ক্রিপ্ট লিখতে এবং এটি লগইনের জন্য প্রবেশ করতে পারি। আমার কোনও সাফল্য আছে কিনা আমি আপনাকে জানাব
ফোর্ডি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.