ক্রোন থেকে গেটেটিং ব্যবহার করে পটভূমি পরিবর্তন হচ্ছে না


11

আমি এখানে ইন্দ্রাজিথ ইন্দ্রপ্রস্থমের প্রস্তাবিত স্ক্রিপ্টটি ব্যবহার করে আমার ওয়ালপেপারটি এলোমেলো ছবিতে পরিবর্তন করার চেষ্টা করছি: ইউনিটিতে কমান্ড লাইন থেকে ডেস্কটপ ব্যাকগ্রাউন্ড কীভাবে পরিবর্তন করবেন?

আমি যখন টার্মিনাল উইন্ডো থেকে স্ক্রিপ্টটি চালিত করি, বিজি ঠিকঠাক পরিবর্তিত হয়, তবে যখন এটি ক্রোন থেকে চালানো হয়, তখন আমি এই ত্রুটিটি মেইল ​​করেছি:

(প্রক্রিয়া: 21901): dconf-WARNING **: dconf এ পরিবর্তন করতে ব্যর্থ: ত্রুটি স্প্যানিং কমান্ড লাইন 'dbus -unch --autolaunch = 00216c114dcf433c9bb9009985d607d6 - বাইনারি-সিনট্যাক্স - ক্লোজ-স্টার্ডার': কোড 1 সহ শিশু প্রক্রিয়াটি প্রস্থান করা হয়েছে

আমি কোন পরামর্শ প্রশংসা করব।


1
@ মেরি এই বিষয়গুলি বাদ দিয়ে যে উত্তরগুলি ওপির সমস্যার সমাধান করে না (যা এটি এটিকে একটি দ্বিখায়িত করে না), এটি কীভাবে ডুপু হবে ???? একই ত্রুটির অর্থ এই নয় যে এটি একই প্রশ্ন।
জ্যাকব ভিলিজম

উত্তর:


16

ক্রোন থেকে গেটেটিং সম্পাদনা করা; অনুপস্থিত পরিবেশের পরিবর্তনশীল

আপনি যদি নিজের পরিবেশ থেকে স্ক্রিপ্টটি চালনা করেন (যেমন টার্মিনাল উইন্ডো থেকে বা স্টার্টআপ অ্যাপ্লিকেশন থেকে), বেশ কয়েকটি পরিবেশের ভেরিয়েবল সেট করা হবে। cronতবে আপনার স্ক্রিপ্টটি সীমিত পরিবেশের ভেরিয়েবলের সাহায্যে চালায়।

gsettingsসফলভাবে সম্পাদনা cronকরতে আপনার DBUS_SESSION_BUS_ADDRESSপরিবেশ পরিবর্তনশীল সেট করতে হবে need এখানে বর্ণিত (এবং নীচে) আপনার স্ক্রিপ্টে দুটি লাইন যুক্ত করে আপনি এটি করতে পারেন ।

আপনার স্ক্রিপ্ট, প্রয়োজনীয় পরিবর্তনশীল নির্ধারণ সহ

এখান থেকে স্ক্রিপ্ট , DBUS_SESSION_BUS_ADDRESSপরিবেশ পরিবর্তনশীল অন্তর্ভুক্ত করতে সম্পাদিত , তারপরে পরিণত হয়:

#!/bin/bash

PID=$(pgrep gnome-session)
export DBUS_SESSION_BUS_ADDRESS=$(grep -z DBUS_SESSION_BUS_ADDRESS /proc/$PID/environ|cut -d= -f2-)

DIR="/home/indra/Pictures/wallpapers"
PIC=$(ls $DIR/* | shuf -n1)
gsettings set org.gnome.desktop.background picture-uri "file://$PIC"

সম্পর্কিত: প্রতি 5 মিনিটে .শ চলমান


@ শান আপনাকে স্বাগতম! খুশী এটি কাজ করে :)
জ্যাকব ভিলিজম

1
আমি পুদিনায় দারুচিনি দিয়ে এটি চেষ্টা করছি। আমি যখন সরাসরি ক্লিপ থেকে এটি চালনা করি তখন আমি "dconf-WARNING *: dconf এ পরিবর্তন করতে ব্যর্থ হয়েছি : প্রদত্ত ঠিকানাটি খালি"। এটি পিআইডি এবং DBUS_SESSION_ ছাড়াই (ক্লিমে থেকে) আগে কাজ করত । (তবে ক্রোন থেকে নয়)
ডনকিক্সোট

1
@ ডনকিক্সোট চেষ্টা করুন PID=$(pgrep -f 'gnome-session' | head -n1)!
জোনিস এলমারিস

যেহেতু গ্রেপ এর DBUS_SESSION_BUS_ADDRESS=$(grep -z DBUS_SESSION_BUS_ADDRESS /proc/$PID/environ|cut -d= -f2-)সাথে $(grep -z DBUS_SESSION_BUS_ADDRESS /proc/$PID/environ)ভেরিয়েবলের নাম পাওয়া যায় তা আপনি প্রতিস্থাপন করতে পারেন । উত্স
wjandrea

1
pgrep gnome-sessionএকাধিক ব্যবহারকারী সিস্টেমে লগ ইন করা থাকলে (প্রতিটি চলমান জিনোম সেশন) একাধিক পিড ফেরত দিতে পারে। সম্ভবত EUID=$(id --real --user)এবং PID=$(pgrep --euid $EUID gnome-session)বর্তমান ব্যবহারকারীর জিনোম সেশনের সাথে সম্পর্কিত কেবল পিআইডি পাওয়ার উপায় হবে।
আনটবু
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.