انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید


ارائه ۲۴٫۱۰ اوبونتو منتشر شد 🎉

نویسنده موضوع: اجرا کردن دستور gsettings set org.gnome.desktop.background picture-uri file_path  (دفعات بازدید: 1971 بار)

0 کاربر و 1 مهمان درحال مشاهده موضوع.

آفلاین hamid123

  • Jr. Member
  • *
  • ارسال: 38
  • جنسیت : پسر
سلام به همه ی دوستان. بنده هم به نوبه خودم عرض تسلیت میگم وفات جناب اشکان قاسمی رو. بنده با ایشان آشنایی نداشتم اما از jcal فرآوان استفاده کردم خدا بیامرزتشان. (اللهم صل علی محمد و آل محمد و عجل فرجهم)

دوستان من چند روزیه که درگیر یک سوال هستم و هیچ راهی هم براش پیدا نکردم.

سوال من اینکه. وقتی که من از دستور
gsettings set org.gnome.desktop.background picture-uri file_path
استفاده میکنم فقط باید داخل خود user باشم تا این دستور کار کنه. اگر روت بشم یا حتی اگر بذارمش تو کرون جاب خود یورز(crontab -u USER -e) باز هم این دستور کار نمیکنه از روش های مختلفی هم استفاده کردم اما باز نتیجه نگرفتم. من میخوام این دستور رو بذارم داخل کرونجاب تا هر ۷ ساعت یکبار عکس پس زمینم رو تغییر بده. اما هر کاری میکنم نمیشه مثلا این راه ها رو همش و امتحان کردم :
sudu - USER -c "command"
یا تمام راه هایی که از طریق سودو سو میشه یک دستور رو از طریق یک کاربر اجرا کرد
crontab -u USER -e
DISPLAY=:1 ...
DISPLAY=:0 ...
DISPLAY=:0.0 ...
dbus-launch ...
PID=$(pgrep gnome-session)
export DBUS_SESSION_BUS_ADDRESS= ...

اما هیچ کدومش نشد که نشد

کسی راهش رو بلده؟


« آخرین ویرایش: 01 آذر 1396، 04:54 ب‌ظ توسط hamid123 »

آفلاین Farhaad 1992

  • Hero Member
  • *
  • ارسال: 943
  • جنسیت : پسر
  • گنو با گنوم
اگر اینجا جواب نگرفتی تو یکی از لیست های پستی گنوم مرتبط با این موضوع، پرسشتو مطرح کن و جوابشو اینجا بذار.
* نام کاربری حساب من Fedora-Red Hat است ولی نام نمایهٔ (پروفایل) من، نام حقیقی + سال تولد من است
* از دی ۱۳۹۸ دیگر فعالیت پیوسته و دائم ندارم
* نظرات و ارسال‌های من فقط در زمان ارسال خود معتبر بودند و نشان‌دهنده طرز فکر و سطح دانش فعلی من نیستند

آفلاین hamid123

  • Jr. Member
  • *
  • ارسال: 38
  • جنسیت : پسر
اگر اینجا جواب نگرفتی تو یکی از لیست های پستی گنوم مرتبط با این موضوع، پرسشتو مطرح کن و جوابشو اینجا بذار.

منظورتون انجمن خود ابونتوست؟ اونجا هم مطرح کردم هم اونجا هم تو استک اما هیشکی جواب نداده.

این هم لینکش :‌
https://askubuntu.com/questions/978579/when-use-gsettings-set-org-gnome-desktop-background-picture-uri-file-path-from

آفلاین Ma$oud

  • Sr. Member
  • *
  • ارسال: 293
  • جنسیت : پسر
من اینجوری توی ساعت ۲۲:۵۵ تصویر زمینه‌م رو با crontab یوزر root عوض کردم: 55 22 * * * /bin/su USER -c 'gsettings set org.gnome.desktop.background picture-uri PIC_PATH' &> /tmp/cron.log
و خیلی ساده کار کرد  :o

آنلاین رسول سعیدنژاد

  • High Hero Member
  • *
  • ارسال: 3504
  • جنسیت : پسر
  • علی (ع): زَكَاةُ الْعِلْمِ نَشْرُه
اگر با روش مسعود جواب نگرفتی، همین رو اسکریپت کن و بذار توی Startup گنوم. خیلی کارها رو با startup هم می‌شه انجام داد.
#!/bin/bash

FILE_PATH="Address-e Aks"

while true;do
   gsettings set org.gnome.desktop.background picture-uri $FILE_PATH
   sleep 7h
done

البته من برای تنظیم کردن تصویر پس‌زمینه از ابزار feh استفاده می‌کنم:
/usr/bin/feh --bg-fill $PIC_PATH/Beautiful-Nature.jpg
نرم افزار، یک ابزاره. برای رسیدن به هدف ازش استفاده کنید. نرم افزار هدف شما نیست :) - آزادی، بزرگ‌ترین دروغ بشریت

آفلاین Farhaad 1992

  • Hero Member
  • *
  • ارسال: 943
  • جنسیت : پسر
  • گنو با گنوم
منظورتون انجمن خود ابونتوست؟ اونجا هم مطرح کردم هم اونجا هم تو استک اما هیشکی جواب نداده.

این هم لینکش :‌
https://askubuntu.com/questions/978579/when-use-gsettings-set-org-gnome-desktop-background-picture-uri-file-path-from
نه منظورم انجمن اوبونتو یا استک نیست، لیست پستی هیچ ربطی به اینها نداره، لیست های پستی بهترین و اصولی ترین روش برای جواب گرفتن، گزارش مشکلات، پیشنهاد و نتقادات و غیره هستند، زیرا مستقیمن با خود توسعه دهندگان ارتباط برقرار میکنید، اکثر نرم افزارهای آزاد و توزیع های لینوکس و BSD بحث های مرتب با توسعه و غیرشون از طریق لیست پستی (mailing list) صورت میگیره.

https://mail.gnome.org/mailman/listinfo

لازمه که ابتدا عضو لیست مورد نظر بشید تا براحتی پیام های ارسال شده توسط شما برای اعضای لیست منتشر بشند.
* نام کاربری حساب من Fedora-Red Hat است ولی نام نمایهٔ (پروفایل) من، نام حقیقی + سال تولد من است
* از دی ۱۳۹۸ دیگر فعالیت پیوسته و دائم ندارم
* نظرات و ارسال‌های من فقط در زمان ارسال خود معتبر بودند و نشان‌دهنده طرز فکر و سطح دانش فعلی من نیستند

آفلاین Farhaad 1992

  • Hero Member
  • *
  • ارسال: 943
  • جنسیت : پسر
  • گنو با گنوم
میتونید پیغام های قدیمی منتشر شده در هر لیست را از طریق آرشیو اون لیست ببینید.

برای اطلاعات بیشتر ویکیپدیا را ببینید.
* نام کاربری حساب من Fedora-Red Hat است ولی نام نمایهٔ (پروفایل) من، نام حقیقی + سال تولد من است
* از دی ۱۳۹۸ دیگر فعالیت پیوسته و دائم ندارم
* نظرات و ارسال‌های من فقط در زمان ارسال خود معتبر بودند و نشان‌دهنده طرز فکر و سطح دانش فعلی من نیستند

آفلاین hamid123

  • Jr. Member
  • *
  • ارسال: 38
  • جنسیت : پسر
من اینجوری توی ساعت ۲۲:۵۵ تصویر زمینه‌م رو با crontab یوزر root عوض کردم: 55 22 * * * /bin/su USER -c 'gsettings set org.gnome.desktop.background picture-uri PIC_PATH' &> /tmp/cron.log
و خیلی ساده کار کرد  :o

هر چی فکر میکنم نمیفهمم دلیلش رو این راه هم قبلا امتحان کردم اما اصلا هیچی که هیچ. من از نسخه 16.04 lts استفاده میکنم.

اگر با روش مسعود جواب نگرفتی، همین رو اسکریپت کن و بذار توی Startup گنوم. خیلی کارها رو با startup هم می‌شه انجام داد.
#!/bin/bash

FILE_PATH="Address-e Aks"

while true;do
   gsettings set org.gnome.desktop.background picture-uri $FILE_PATH
   sleep 7h
done

البته من برای تنظیم کردن تصویر پس‌زمینه از ابزار feh استفاده می‌کنم:
/usr/bin/feh --bg-fill $PIC_PATH/Beautiful-Nature.jpg

تو استارتاپ؟ اون رو هم امتحان میکنم ولی فکر نکنم اینم جواب بده. احساس میکنم مشکل کار من جای دیگس ممکنه ابونتوم به مشکل خورده. آخه واقعا یه مسئله ی پیش پا افتادست نمیفهمم چرا انقدر گیر داده.

ابزار feh؟ آشنا نیستم باهاش. تشکر میکنم از ابزار feh استفاده کنم.

دوستان ازتون تشکر میکنم بابت راهنمایی. هر وقت جواب سوالم  و گرفتم قطعا بدون شک اینجا هم قرار میدم کسی دیگه ای بهش برخورد بتونه برطرفش کنه


منظورتون انجمن خود ابونتوست؟ اونجا هم مطرح کردم هم اونجا هم تو استک اما هیشکی جواب نداده.

این هم لینکش :‌
https://askubuntu.com/questions/978579/when-use-gsettings-set-org-gnome-desktop-background-picture-uri-file-path-from
نه منظورم انجمن اوبونتو یا استک نیست، لیست پستی هیچ ربطی به اینها نداره، لیست های پستی بهترین و اصولی ترین روش برای جواب گرفتن، گزارش مشکلات، پیشنهاد و نتقادات و غیره هستند، زیرا مستقیمن با خود توسعه دهندگان ارتباط برقرار میکنید، اکثر نرم افزارهای آزاد و توزیع های لینوکس و BSD بحث های مرتب با توسعه و غیرشون از طریق لیست پستی (mailing list) صورت میگیره.

https://mail.gnome.org/mailman/listinfo

لازمه که ابتدا عضو لیست مورد نظر بشید تا براحتی پیام های ارسال شده توسط شما برای اعضای لیست منتشر بشند.

چقدر عالی نمیدونستم خیلی خوبه.




 من یک مبتدی هستم باعث خوش حالی در کنار شما بودن

آفلاین hamid123

  • Jr. Member
  • *
  • ارسال: 38
  • جنسیت : پسر
حتی این اسکریپت رو با پایتون هم نوشتم به جز بش. اما باز نشد که نشد.

اسکریپتی که بابش نوشتم اینکه میره هر روز یا هر زمانی که فراخوانیش کنم یک عکس پس زمینه از ساتیهایی که بهش معرفی کنم دانلود میکنه و جایگزین عکس فعلی میکنه. اسکریپت بدرستی کار میکنه اما وقتی داخل روت میشم یا حتی داخل کرون جاب خود یوزر هم میشم باز این دستور این بخشش اجرانمیشه

آنلاین رسول سعیدنژاد

  • High Hero Member
  • *
  • ارسال: 3504
  • جنسیت : پسر
  • علی (ع): زَكَاةُ الْعِلْمِ نَشْرُه
توی Cron کاربر معمولی نیازی به sudo -u نیست.
اون DISPLAY رو export می‌کنی قبلش؟
export DISPLAY=:0
نرم افزار، یک ابزاره. برای رسیدن به هدف ازش استفاده کنید. نرم افزار هدف شما نیست :) - آزادی، بزرگ‌ترین دروغ بشریت

آفلاین hamid123

  • Jr. Member
  • *
  • ارسال: 38
  • جنسیت : پسر
خیر اکسپورتش نکردم. الان تست میکنم

آفلاین hamid123

  • Jr. Member
  • *
  • ارسال: 38
  • جنسیت : پسر
این هم متاسفانه نشد. حتی من یک یوزر دیگه ساختم و با اون امتحان کردم این راه هارو حتی با اون هم نشد.

آخه من نمیفهمم همه این دستور رو اجرا میکنن و بدون مشکل هم براشون کار میکنه اما چرا برای من نمیشه؟ کجای کار اشکال داره.

خیلی عجیبه این دستور تا زمانی که داخل ترمینال وارد روت نشدم درست کار میکنه اما همین که وارد روت میشم دیگه این دستور با هیچ راهی درست کار نمیکنه. وقتی الان آقا مسعود دارن اجراش میکنن بدون مشکل اون هم از روت. پس چرا برای من نمیشه؟


آفلاین hamid123

  • Jr. Member
  • *
  • ارسال: 38
  • جنسیت : پسر
یه چیز رو میتونم امتحان کنم. این مشکل احتمالا باید از تفاوت متغییر های پیش فرض هر کاربر باشه. ما که هرچی بود رو امتحان کردم این رو هم یه تست بکنم

آنلاین رسول سعیدنژاد

  • High Hero Member
  • *
  • ارسال: 3504
  • جنسیت : پسر
  • علی (ع): زَكَاةُ الْعِلْمِ نَشْرُه
جسارته. چرا شما با کاربر ریشه وارد می‌شی؟
چه لزومی داره؟
مگه با sudo کارِت راه نمی‌افته؟
شما با کاربر معمولی همیشه Login کن. بعد اگه نیاز به اجرای برنامه با دسترسی ریشه داشتی، از sudo استفاده کن
دستوراتی که با sudo اجرا می‌شن رو توی Cron ریشه بذار
sudo crontab -e

و دستوراتی که نیاز به sudo ندارن رو توی Cron معمولی بذار.
crontab -e
نرم افزار، یک ابزاره. برای رسیدن به هدف ازش استفاده کنید. نرم افزار هدف شما نیست :) - آزادی، بزرگ‌ترین دروغ بشریت

آفلاین hamid123

  • Jr. Member
  • *
  • ارسال: 38
  • جنسیت : پسر
جسارته. چرا شما با کاربر ریشه وارد می‌شی؟
چه لزومی داره؟
مگه با sudo کارِت راه نمی‌افته؟
شما با کاربر معمولی همیشه Login کن. بعد اگه نیاز به اجرای برنامه با دسترسی ریشه داشتی، از sudo استفاده کن
دستوراتی که با sudo اجرا می‌شن رو توی Cron ریشه بذار
sudo crontab -e

و دستوراتی که نیاز به sudo ندارن رو توی Cron معمولی بذار.
crontab -e


نه نه من هم مثل حالت معمول با کاربر معمولی وارد سیستم میشم یعنی روت نیستم حتی یک یوزر محدودتر هم برای اینکار ساختم(داخل گروه sudo هم نذاشتمش.) اما مشکل خیلی عجیبه نه تنها با روت اجرا نمیشه بلکه با هیچ نوع دستور sudo یا حتی کرونجاب خود اون یوزر که اسمش هست مثلا reza هم باز این دستور اجرا نمیشه(تو هر حالتی که میشه امتحان کرد چه کران جاب معمولی که روت باشه چه کران جاب reza چه sudo و بعد دستور gsettings اما باز اجرا نمیشه). فقط و فقط در یک حالت این دستور اجرا میشد اونم اینکه ترمینال رو باز کنم و همون جا بدون هیچ چیز اضافه ای دستور gsetting رو وارد کنم فقط در همین حالت درست کار میکنه.

بعد آخه مشکل دیگش اینکه حتی یه ارور هم خروجی نمیده که آدم مثلا از طریق اون ارور به یه چیزی شک کنه.

شاید براتون جالب باشه اگر من ترمینال رو باز کنم و بعد با دستور sudo su وارد روت بشم و دوباره بادستور su reza وارد همون کاربر رضا بشم و بعد این دستور رو بزنم باز هم اجرا نمیشه ](*,) . من باید دوباره exit کنم برم تو روت و دوباره داخل روت هم exit کنم برم توی reza بعد این دستور رو بزنم اون موقع دیگه درست اجرا میشه.


حالا اشکالش رو بالاخره فهمیدم کجاست که تو پست بعدی مینویسمش