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

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

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


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

نویسنده موضوع: انجام بعضی دستورات بصورت دستی  (دفعات بازدید: 2983 بار)

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

آفلاین Dragon-

  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 5124
  • جنسیت : پسر
پاسخ : انجام بعضی دستورات بصورت دستی
« پاسخ #30 : 22 بهمن 1400، 10:46 ب‌ظ »
دوستان من یه مشکلی دارم توی qtile میخوام به اینترنت وصل بشم همش به ارور میخورم.
nmcli --ask dev wifi connect FD-M40-G1-6178
Password: ••••••••
Error: Connection activation failed: (7) Secrets were required, but not provided.
مطمئنم که رمز رو درست میزنم، توی kde خیلی راحت وصل میشه البته بصورت گرافیکی.
نمیدونم kde چحوری به اینترنت وصل میشه اما من فقط NetworkManager رو دارم.
رمز رو مستقیم بهش بدید و ببینید کار می‌کنه یا نه. اینجوری
nmcli dev wifi connect FD-M40-G1-6178 password YOURPASSبه جای YOURPASS، رمزعبور رو بنویسید.

البته با اینکار، رمز عبور وایفای شما توی bash_history. ذخیره میشه. اگه می‌خواهید این اتفاق نیوفته، قبل از دستور یه فاصله بذارید. با اینکار، دستور جایی ذحیره نمیشه.
میدونید که زکات علم نشر آن است

آفلاین EnriqueTTE

  • High Sr. Member
  • *
  • ارسال: 607
  • جنسیت : پسر
پاسخ : انجام بعضی دستورات بصورت دستی
« پاسخ #31 : 23 بهمن 1400، 08:41 ق‌ظ »
گرافیک شما اینتل هست؟ خروجی این دستور چیه؟
ls /sys/class/backlight
احتمالا مشکل از این هست که شما دسترسی برای انجام اینکار رو ندارید. در نتیجه مجبور میشسد brightnessctl رو با sudo اجرا کنید. توی ویکی آرچ یه راهنما درباره نور پس زمینه هست. این لینک به اون هست.
intel_backlight
گرافیکم اینتل هست. توی انجمن آرچ یه اسکریپت دیدم که میتونه نور نمایشگر رو تنظیم کنه، مشکل اینجا بود که اونم به sudo نیاز داشت.
اسکریپت رو ذخیره کردم و به همه کاربرها اجازه دادم با sudo بدون رمز بتونن اجراش کنن و توی تنظیمات qtile براش کلید هارو تعریف کردم و داره کار میکنه.
اینم اسکریپت:
#!/bin/bash

# base dir for backlight class
basedir="/sys/class/backlight/"

# get the backlight handler
handler=$basedir$(ls $basedir)"/"

# get current brightness
old_brightness=$(cat $handler"brightness")

# get max brightness
max_brightness=$(cat $handler"max_brightness")

# get current brightness %
old_brightness_p=$(( 100 * $old_brightness / $max_brightness ))

# calculate new brightness %
new_brightness_p=$(($old_brightness_p $1))

# calculate new brightness value
new_brightness=$(( $max_brightness * $new_brightness_p / 100 ))

# set the new brightness value
sudo chmod 666 $handler"brightness"
echo $new_brightness > $handler"brightness"

مشکل خاصی با نور صفحه ندارم فقط اینکه هردفعه که لپ تاپ رو روشن میکنم نور صفحه 100 درصده چه وارد qtile بشم چه kde plasma.
مشکل فعلا صداست که برای تغییرش باید موس رو ببرم روی ویجت/widget صدا و اسکرول کنم، نتونستم براش تنظیم کنم که با کیبورد کار کنه.

این کلید هارو برای صدا تنظیم کردم اما حتی وقتی خودم توی ترمینال ازشون استفاده میکنم با ارور مواجه میشم.
    Key([], "XF86AudioMute", lazy.spawn("amixer -c 1 set Master toggle")),
    Key([], "XF86AudioLowerVolume", lazy.spawn("amixer -c 1 -q set Master 5- unmute")),
    Key([], "XF86AudioRaiseVolume", lazy.spawn("amixer -c 1 -q set Master 5+ unmute")),

amixer: Unable to find simple control 'Master',0   # ERROR
I am Enriquette

آفلاین Dragon-

  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 5124
  • جنسیت : پسر
پاسخ : انجام بعضی دستورات بصورت دستی
« پاسخ #32 : 23 بهمن 1400، 11:09 ق‌ظ »
از خروجی که فرستادید، مشخصه گرافیک اینتل دارید. می‌تونید با تغییر مقادیر فایل زیر، روشنایی رو کم و زیاد کنید.
/sys/class/backlight/intel_backlight/brightness
حداکثر مقداری که می‌تونید توی فایل بالا بنویسید، توی فایل زیر گفته شده.
/sys/class/backlight/intel_backlight/max_brightness
فایل اولی، فقط توسط روت قابل نوشتنه. به خاطر همین پردازش‌های با دسترسی کم، نمی‌تونند همینجوری روشنایی رو تغییر بدند.
می‌تونید udev رو تنظیم کنید تا وقتی که گرافیک شناسایی شد و فایل‌های مجازی اون توی /sys/ ایجاد شدند، دسترسی و گروه فایل اول رو تغییر بده به طوری که کاربر‌های عضو گروه video (و در نتیجه پردازش‌هایی که اجرا کردند) بتونند توی فایل بالا بنویسند. به نظرم این راه بهتر از این هست که تنظیمات sudo رو تغییر بدید.

این قانون رو می‌تونید به قانون‌های udev اضافه کنید تا کار‌های بالا رو انجام بده.
ACTION=="add", SUBSYSTEM=="backlight", KERNEL=="intel_backlight", RUN+="/usr/bin/chgrp video /sys/class/backlight/intel_backlight/brightness"
ACTION=="add", SUBSYSTEM=="backlight", KERNEL=="intel_backlight", RUN+="/usr/bin/chmod g+w /sys/class/backlight/intel_backlight/brightness"

متن بالا رو توی یه فایل با پسوند rules. توی دایرکتوری زیر ذحیره کنید.
/etc/udev/rules.d
می‌تونید اول اسم فایل، یه عدد بذارید تا ترتیب اعمال اون قانون بین قانون‌های دیگه رو تغیین کنید. مثلا این اسم، می‌تونه یه اسم معتبر باشه.
/etc/udev/rules.d/50-backlight.rules
بعد کامپیوتر رو خاموش روشن کنید و خروجی دستور زیر رو بررسی کنید.
ls -l /sys/class/backlight/intel_backlight
بعد بدون sudo سعی کنید روشنایی رو تغییر بدید و ببینید چی میشه.

در مورد نور صفحه که همیشه موقع روشن شدن، حداکثر هست، می‌تونید یه اسکریپت ساده بنویسید تا هر مثلا ۵ ثانیه یه بار روشنایی فعلی رو بررسی کنه و اون رو توی یه فایل بنویسه. بعد اون رو تبدیل به یه سرویس کنید تا موقع بوت اجرا بشه. اسکریپت باید وقتی اجرا میشه، اول بررسی کنه که روشنایی قبل از خاموش سدن چی بوده و بعد هر ۵ ثانه یه بار، روشنایی رو بررسی و ذخیره کنه.

همراه systemd، یه سرویس به اسم systemd-backlight@.service هست. این سرویس، سعی می‌کنه روشنایی رو پیدا و ذخیره کنه. موقع بوت، این سرویس روشنایی رو به آخرین مقداری که ذخیره کرده، بر می‌گردونه. ولی شما systemd ندارید تا بتونید از این سرویس استفاده کنید. پس باید خودتون یه کار بکنید.
از چه init system توی artix استفاده کردید؟ شاید اون init system چنین قابلیتی داشته باشه. یه جست‌و‌جو کنید.
میدونید که زکات علم نشر آن است

آفلاین EnriqueTTE

  • High Sr. Member
  • *
  • ارسال: 607
  • جنسیت : پسر
پاسخ : انجام بعضی دستورات بصورت دستی
« پاسخ #33 : 23 بهمن 1400، 09:47 ب‌ظ »
ls -l /sys/class/backlight/intel_backlight

lrwxrwxrwx 1 root root 0 Feb 12 18:47 /sys/class/backlight/intel_backlight -> ../../devices/pci0000:00/0000:00:02.0/drm/card0/card0-eDP-1/intel_backlight

این اسکریپت خوبه؟
#!/bin/bash

brightness_file="/sys/class/backlight/intel_backlight/brightness"
log_file="/home/smjt2000/.current-brightness"

function set_last {
        if [ -f $log_file]
        then
                last=$(tail -n1 $log_file)
                echo $last > $brightness_file
        fi
}

function get_last {
        current=$(cat $brightness_file)
        echo $current
        cat $current >> $log_file
}

set_last

while :
do
        get_last
        sleep 10
done


اگه این اسکریپت رو به عنوان یه سرویس تنظیم کنم بدون مشکل میتونه کار کنه؟ نمیخواد دسترسی خاصی بهش بدم؟
« آخرین ویرایش: 23 بهمن 1400، 10:08 ب‌ظ توسط EnriqueTTE »
I am Enriquette

آفلاین Dragon-

  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 5124
  • جنسیت : پسر
پاسخ : انجام بعضی دستورات بصورت دستی
« پاسخ #34 : 25 بهمن 1400، 08:13 ب‌ظ »
ls -l /sys/class/backlight/intel_backlight
lrwxrwxrwx 1 root root 0 Feb 12 18:47 /sys/class/backlight/intel_backlight -> ../../devices/pci0000:00/0000:00:02.0/drm/card0/card0-eDP-1/intel_backlight

یه اسلش اون آخرش بذارید و دوباره انجام بدید. از اونجایی که دایرکتوری بالا در اصل یه لینک به یه دایرکتوری ریگه هست، اگه اسلش آخر رو ننویسید، محتوای اون نمایش داده نمیشه، جایی که بهش اشاره می‌کنه نمایش داده میشه. این دستور رو بزنید.
ls -l /sys/class/backlight/intel_backlight/
خروجی این دستور رو هم بررسی کنید تا ببنید توی چه گروه‌هایی هستید.
groups
بعد از اضافه کردن اون قانون udev می‌تونید بدون دسترسی روت، روشنایی رو تغییر بدید؟
نقل‌قول
این اسکریپت خوبه؟
#!/bin/bash

brightness_file="/sys/class/backlight/intel_backlight/brightness"
log_file="/home/smjt2000/.current-brightness"

function set_last {
        if [ -f $log_file]
        then
                last=$(tail -n1 $log_file)
                echo $last > $brightness_file
        fi
}

function get_last {
        current=$(cat $brightness_file)
        echo $current
        cat $current >> $log_file
}

set_last

while :
do
        get_last
        sleep 10
done


به نظرم اگه یه سری بررسی‌های بیشتری انجام بده، بهتره.
systemd-backlight@.service، اطلاعات رو توی یه سری فایل‌ها توی یه دایرکتوری توی /var/lib/ ذخیره می‌کنه. به نظرم بهتره شما هم این اطلاعات رو داخل /var/lib/ نگه دارید. اگه به دایرکتوری‌های مربوط به pacman یا بقیه برنامه‌های مهم دست نزنید، مشکلی پیش نمیاد.
اسکریپتی که شما نوشتید، مقدار روشنایی رو هر ۱۰ ثانیه ذخیره می‌کنه ولی مشکلش اینجاست که مقادیر قبلی رو پاک نمی‌کنه و روشنایی فعلی رو به آخر اون فایل اضافه می‌کنه. از اونجایی که این کار هر ۱۰ ثانیه یه بار انجام میشه، فایل مورد نظر می‌تونه خیلی سریع بزرگ بشه.

در ضمن اسکریپت شما یه مشکل هم داره. این مشکل توی تابع get_last هست. اینجا
cat $current >> $log_fileاین خطا میده. با توجه به اون یکی تابع که نوشتید، فکر کنم منظورتون این بوده
echo $current >> $log_file
فکر کنم این اسکریپت بهتره:
#!/bin/bash

set -e

for ENV in PREFIX HISTORY_DIR HISTORY_FILE HANDELER_DIR BRT_FILE MAX_BRT_FILE INTERVAL; do
      export "${ENV}"
done
unset ENV

PREFIX=/var/lib
HISTORY_DIR="${PREFIX}/backlight_history"
HISTORY_FILE="${HISTORY_DIR}/last_brightness"
HANDELER_DIR=/sys/class/backlight/intel_backlight/
BRT_FILE="${HANDELER_DIR}/brightness"
MAX_BRT_FILE="${HANDELER_DIR}/max_brightness"
INTERVAL=10

is_on-readonly_fs() {

      # and by mountpoint, we mean the mountpoint that
      # specified file or directory, resides on
      local mountpoint
      local mount_options
      mountpoint="$(stat --format '%m' "${1}")"
      mount_options="$(findmnt -n -T "${mountpoint}" -o OPTIONS)"

      echo "${mount_options}" | grep -Eq '^ro$|^ro,|,ro,|,ro$'
      return $?
}

# This function checks if the specified file has  'i' or 'a' attributes
# if this is the case,  function returns 1 and if not, returns 0
is_overwriteable() {

      local attrs
     attrs="$(lsattr "${1}")"
      attrs="$(echo "${attrs}" | awk '{print $1}')"

      if echo "${attrs}" | grep -Eq 'a|i'; then
            return 1
      else
            return 0
      fi
}

read_file() {

     ( [ -f "${1}" ] && [ -r "${1}" ] ) || ( echo "${1} does not exsit or read permission is not granted" >&2; return 1 )
      cat "${1}"
}

create_history_file() {

      # return zero if history file exists
      [ -e "${HISTORY_FILE}" ] && return 0

     if [ -d "${HISTORY_DIR}" ]; then
           if is_on_readonly_fs "${HISTORY_DIR}"; then
                  echo "${HISTORY_DIR} is under a read only mountpoint or is a read only mountpoint. Abort" >&2
                  echo "resolve the issue and restart the service" >&2
                 exit 0
            else
                  touch "${HISTORY_FILE}"
            fi

      else
            if is_on_readonly_fs "${PREFIX}"; then
                  echo "${PREFIX} is under a read only mountpoint or is a read only mountpoint. Abort" >&2
                  echo "resolve the issue and restart the service" >&2
                  exit 0
            else
                  mkdir "${HISTORY_DIR}"
                  touch "${HOSTORY_FILE}"
            fi
      fi
}

save_brightnes() {         

      create_history_file
      if [ ! -f "${HISTORY_FILE}" ]; then
            echo "ERROR: ${HISTORY_FILE} exists but is not a regular file" >&2
            exit 1

      elif is_on_readonly_fs "${HISTORY_FILE}"; then
            echo "${HISTORY_FILE} is under a read only mountpoint. Abort" >&2
            echo "resolve the issue and restart the service" >&2
            exit 0

      elif ! is_overwriteable "${HISTORY_FILE}"; then
            echo "can not overwrite ${HISTORY_FILE}, \`a' or \`i' attributes are set. Abort" >&2
            echo "resolve the issue and restart the service" >&2
            exit 0
      fi

      read_file "${BRT_FILE}" > "${HISTORY_FILE}" || exit 1
}

# the real work starts here
if [ "$(id -u)" -ne 0 ]; then
      echo "You must run this with root privilages" >&2
      exit 1
fi

if [ ! -d "${PREFIX}" ]; then
      echo "${PREFIX} does not exists or is not a directory" >&2
      exit 1
fi

if [ ! -f "${BRT_FILE}" ]; then
      echo "${BRT_FILE} does not exist. make sure /sys is mounted, you have an intel graphics and backlight       subsystem of kernel is avialable" >&2
      exit 1
fi

last_brightness="$(read_file "${HISTORY_FILE}" 2>/dev/null || true)"
max_brightness="$(read_file "${MAX_BRT_FILE}")"

if [[ "${last_brightness}" =~ ^[0-9]+$ ]] && \
    [[ "${max_brightness}" =~ ^[0-9]+$ ]] && \
    [ "${last_brightness}" -le "${max_brightness}" ]; then
      echo "${last_brightness}" > "${BRT_FILE}"
fi
unset max_brightness last_brightness

while true; do
      save_brightness
      sleep "${INTERVAL}"
done
اسکریپت بالا رو امتحان نکردم. خودتون امتحان کنید و نتیجه رو بگید. اسکریپت بالا حتما باید با bash اجرا بشه.

نقل‌قول
اگه این اسکریپت رو به عنوان یه سرویس تنظیم کنم بدون مشکل میتونه کار کنه؟ نمیخواد دسترسی خاصی بهش بدم؟
دسترسی اجرایی بهش بدید. می‌تونید بذاریدش توی این مسیر
/usr/local/sbin
مسیر بالا توسط مدیربسته مدیریت نمیشه. کلا دایرکتوری /usr/local/ و زیر دایرکتوری‌های اون، توسط مدیر بسته مدیریت نمیشن و برای کاربر یا برنامه‌های جدا هست تا بتونند چیز‌های خودشون رو اونجا قرار بدند. مسیر‌های اونجا داخل متغییر‌های محیطی مرتبط هستند تا نیازی نباشه اونها رو تغییر داد. مثلا دوتا مسیر زیر، توی PATH هستند:
/usr/local/bin
/usr/local/sbin

ممکنه دومی، توی بعضی توزیع‌ها (مثل دبیان) ، به طور پیش‌فرض فقط توی PATH روت باشه
« آخرین ویرایش: 27 بهمن 1400، 05:27 ب‌ظ توسط Dragon- »
میدونید که زکات علم نشر آن است

آفلاین EnriqueTTE

  • High Sr. Member
  • *
  • ارسال: 607
  • جنسیت : پسر
پاسخ : انجام بعضی دستورات بصورت دستی
« پاسخ #35 : 25 بهمن 1400، 08:57 ب‌ظ »
$ ls -l /sys/class/backlight/intel_backlight/

total 0
-r--r--r-- 1 root root  4096 Feb 14 20:50 actual_brightness
-rw-r--r-- 1 root root  4096 Feb 14 20:43 bl_power
-rw-rw-r-- 1 root video 4096 Feb 14 20:45 brightness
lrwxrwxrwx 1 root root     0 Feb 14 20:43 device -> ../../card0-eDP-1
-r--r--r-- 1 root root  4096 Feb 14 20:43 max_brightness
drwxr-xr-x 2 root root     0 Feb 14 20:50 power
-r--r--r-- 1 root root  4096 Feb 14 20:50 scale
lrwxrwxrwx 1 root root     0 Feb 14 20:43 subsystem -> ../../../../../../../class/backlight
-r--r--r-- 1 root root  4096 Feb 14 20:43 type
-rw-r--r-- 1 root root  4096 Feb 14 20:42 uevent

$ groups
libvirt video wheel smjt2000

اسکریپت رو اجرا کردم و با این ارور مواجه شدم
line 13: basedir: command not foundمربوط میشه به این خط
HANDELER_DIR="$(basedir /sys/class/backlight/intel_backlight/)"
من bash بلد نیستم(فقط درحد دستورای ساده ترمینال) و نمیدونم باید چکار کنم، شاید یادتون رفته این متغیر رو تعریف کنید یا شاید یه کلمه کلیدی باشه.
I am Enriquette

آفلاین Dragon-

  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 5124
  • جنسیت : پسر
پاسخ : انجام بعضی دستورات بصورت دستی
« پاسخ #36 : 25 بهمن 1400، 09:43 ب‌ظ »
با dirname جایگزین کنید. اشتباهی نوشتم basedir
میدونید که زکات علم نشر آن است

آفلاین EnriqueTTE

  • High Sr. Member
  • *
  • ارسال: 607
  • جنسیت : پسر
پاسخ : انجام بعضی دستورات بصورت دستی
« پاسخ #37 : 25 بهمن 1400، 09:53 ب‌ظ »
با این ارور مواجه میشم. هرچی چک میکنم آدرس دهی توی اسکریپت درسته اما یه intel_backlight کم نوشته توی ارور
/sys/class/backlight/brightness does not exist. make sure /sys is mounted, you have an intel graphics and backlight subsystem of kernel is avialable
I am Enriquette

آفلاین Dragon-

  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 5124
  • جنسیت : پسر
پاسخ : انجام بعضی دستورات بصورت دستی
« پاسخ #38 : 25 بهمن 1400، 10:05 ب‌ظ »
اسکریپت رو بیشتر بررسی کردم، توی این شرایط، اصلا لازم نیست جایی که /sys/class/backlight/intel/backlight/ به اون لینک شده رو بدونیم. متغییر HANDELER_DIR رو به این مقدار تغییر بدید.
HANDELER_DIR=/sys/class/backlight/intel_backlight
$ ls -l /sys/class/backlight/intel_backlight/

total 0
-r--r--r-- 1 root root  4096 Feb 14 20:50 actual_brightness
-rw-r--r-- 1 root root  4096 Feb 14 20:43 bl_power
-rw-rw-r-- 1 root video 4096 Feb 14 20:45 brightness
lrwxrwxrwx 1 root root     0 Feb 14 20:43 device -> ../../card0-eDP-1
-r--r--r-- 1 root root  4096 Feb 14 20:43 max_brightness
drwxr-xr-x 2 root root     0 Feb 14 20:50 power
-r--r--r-- 1 root root  4096 Feb 14 20:50 scale
lrwxrwxrwx 1 root root     0 Feb 14 20:43 subsystem -> ../../../../../../../class/backlight
-r--r--r-- 1 root root  4096 Feb 14 20:43 type
-rw-r--r-- 1 root root  4096 Feb 14 20:42 uevent

$ groups
libvirt video wheel smjt2000
به نظر میاد اون قانون udev کارش رو درست انجام داده. شما هم عضو گروه video هستید.
آخر به این سوال جواب ندادید، می‌تونید بدون دسترسی روت، روشنایی رو تغییر بدید؟ سعی کنید دستی با echo مقدار روشنایی رو توی اون فایل بنویسید و ببینید چی میشه.
میدونید که زکات علم نشر آن است

آفلاین EnriqueTTE

  • High Sr. Member
  • *
  • ارسال: 607
  • جنسیت : پسر
پاسخ : انجام بعضی دستورات بصورت دستی
« پاسخ #39 : 25 بهمن 1400، 11:12 ب‌ظ »
اجرا کردم بدون هیچ پیام و اخطاری اجرا شد اما هیچ فایلی رو توی /var/lib/ درست نکرد.
آره بدون sudo میتونم مقدار روشنایی رو تغییر بدم.
I am Enriquette

آفلاین sajadspeed

  • Hero Member
  • *
  • ارسال: 978
  • جنسیت : پسر
پاسخ : انجام بعضی دستورات بصورت دستی
« پاسخ #40 : 26 بهمن 1400، 10:51 ق‌ظ »
من از qtile استفاده میکنم و برای تنظیم روشنایی و صدا باید از یسری دستور استفاده کنم.
چجوری میتونم تنظیم کنم با فشردن یه کلید یه دستور اجرا بشه؟
این دستور برای افزایش میزان روشنایی استفاده میشه.
sudo brightnessctl -d "intel_backlight" set +5%میخوام جوری باشه که با فشردن کلید XF86MonBrightnessUp روشنایی زیاد بشه و ...
اگر بشه بدون sudo این کارو کرد خیلی عالی میشه.

سلام ببینید راستیاتس من از LXQt استفاده می‌کنم و این دسکتاپ باگ داشت در کم و زیاد کردن نور با کلید‌های بالای لپ‌تاپ، مجبور شدم دقیقا همین مثالی که زدید را پیاده‌سازی کنم، البته من تخصصی ندارم در لینوکس فقط کاری که کردم توضیح میدم:
اول دستور افزایش یا کاهش نور مثل همون چیزی که گفتید پیدا کردم و بعد داخل قسمت شورت‌کات‌های lXQt برای کلیدهای تنظیم نور دستور براش نوشتم، فکر کنم با یک سرچ ساده بتونید فایل کانفیگش پیدا کنید برای خودتون. تا این جا درست بود فقط مشکل این بود که باید با sudo اجرا میشد و خوب این امکان‌پذیر نبود، پس فایل:
/sys/class/backlight/intel_backlight/brightnessکه در واقع عددی که درش درج می‌شه میزان روشنایی مانیتور هست را دسترسیش به کاربر فعلی هم دادم. همین، میدونم شاید اصولی نباشه ولی من اینطوری مشکلم حل کردم.

آفلاین Dragon-

  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 5124
  • جنسیت : پسر
پاسخ : انجام بعضی دستورات بصورت دستی
« پاسخ #41 : 26 بهمن 1400، 11:40 ب‌ظ »
اجرا کردم بدون هیچ پیام و اخطاری اجرا شد اما هیچ فایلی رو توی /var/lib/ درست نکرد.
وقتی اجرا شد، جایی به پایان رسید؟ خط فرمان رو به شما برگردوند؟
مقدار روشنایی رو توی فایل زیر ذخیره می‌کنه.
/var/lib/backlight_history/last_brightness
نقل‌قول
آره بدون sudo میتونم مقدار روشنایی رو تغییر بدم.
پس دیگه می‌تونید اون تنظیمی که برای sudo انجام دادید رو به حالت قبل برگردونید.
نقل‌قول
اسکریپت رو ذخیره کردم و به همه کاربرها اجازه دادم با sudo بدون رمز بتونن اجراش کنن و توی تنظیمات qtile براش کلید هارو تعریف کردم و داره کار میکنه.
میدونید که زکات علم نشر آن است

آفلاین EnriqueTTE

  • High Sr. Member
  • *
  • ارسال: 607
  • جنسیت : پسر
پاسخ : انجام بعضی دستورات بصورت دستی
« پاسخ #42 : 27 بهمن 1400، 10:57 ق‌ظ »
وقتی اجرا شد، جایی به پایان رسید؟ خط فرمان رو به شما برگردوند؟
مقدار روشنایی رو توی فایل زیر ذخیره می‌کنه.
/var/lib/backlight_history/last_brightness
مثل اینکه یجایی به مشکل میخوره. خط فرمان رو بلافاصله تحویل میده بدون هیچ پیغامی. starship وقتی دستوری با ارور مواجه بشه یه ضربدر قرمز نشون میده و با اجرای این دستور این علامتو بهم نشون میده.
نمیدونم ربطی داره یا نه، فایل توی home کاربره و من اجراش میکنم.
I am Enriquette

آفلاین Dragon-

  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 5124
  • جنسیت : پسر
پاسخ : انجام بعضی دستورات بصورت دستی
« پاسخ #43 : 27 بهمن 1400، 12:58 ب‌ظ »
اسکریپت رو باز کنید و اون خطی که با set شروع میشه رو به set -ex تغییر بدید. بعد دوباره اسکریپت رو اجرا کنید. احتمالا خروجی خیلی بلندی میده. اون رو اینجا قرار بدید. شاید سرویس pastebin هم گزینه مناسبی باشه. اینجوری می‌تونید تمام خروجی رو بفرستید به pastebin بفرستید.
path/to/script 2>&1 | nc -N paste.ubuntu.ir 1337
میدونید که زکات علم نشر آن است

آفلاین EnriqueTTE

  • High Sr. Member
  • *
  • ارسال: 607
  • جنسیت : پسر
پاسخ : انجام بعضی دستورات بصورت دستی
« پاسخ #44 : 27 بهمن 1400، 01:53 ب‌ظ »
اسکریپت رو باز کنید و اون خطی که با set شروع میشه رو به set -ex تغییر بدید. بعد دوباره اسکریپت رو اجرا کنید. احتمالا خروجی خیلی بلندی میده. اون رو اینجا قرار بدید. شاید سرویس pastebin هم گزینه مناسبی باشه. اینجوری می‌تونید تمام خروجی رو بفرستید به pastebin بفرستید.
path/to/script 2>&1 | nc -N paste.ubuntu.ir 1337

خروجی اجرا
I am Enriquette