لینوکس و من

۴۹ مطلب با موضوع «تنظیمات سیستم» ثبت شده است

مشکل ماونت نشدن درایوهای ویندوزی

اگه dual boot باشید، یعنی هم لینوکس و هم ویندوز در کنار هم داشته باشید، شاید از ویندوز ۸ به بعد براتون پیش اومده که وقتی ویندوز رو shutdown میکنید و دفعه بعد وارد لینوکس میشید درایوی که در ویندوز داشتید دیگه mount نمیشه و پیام خطایی شبیه به این میگیرید:
Command-line `mount -t "ntfs" -o "uhelper=udisks2,nodev,nosuid,uid=1000,gid=1000" "/dev/sdb2" "/media/username/FC56938B569344F4"' exited with non-zero exit status 14: Windows is hibernated, refused to mount.
Failed to mount '/dev/sdb2': Operation not permitted
The NTFS partition is in an unsafe state. Please resume and shutdown
Windows fully (no hibernation or fast restarting), or mount the volume
read-only with the 'ro' mount option.
علت این ماجرا اینه که ویندوز برای shutdown درواقع یه جور hibernation انجام میده تا موقع بوت بعدی سریعتر بالا بیاد! این موضوع میتونه برای سیستم عامل دیگه ای که در کنار ویندوز نصبه دردسر ایجاد کنه. سه راه برای حل این معضل! وجود داره.

۱- انجام restart از ویندوز
به ویندوز بوت کنید و یک بار بجای shutdown که اون مشکل رو بوجود میاره restart کنید. و بعد وارد لینوکس بشید

۲- این رفتار ویندوز رو غیرفعال کنیم!
هرچند این باعث دیرتر بالا اومدن ویندوز میشه اما به ما مربوط نیست. ما که اصلا باهاش کاری نداریم! این مسیر رو در کنترل پنل دنبال کنید:
Power Options > Choose what the power buttons do > Change settings that are currently unavailable
و تیک Turon on fast startup رو بردارید

۳- اگر فقط قصد مشاهده محتویات درایو رو دارید و نمیخواید تغییری ایجاد کنید، درایو رو در حالت read only ماونت کنید

در لینک منبع میتونید توضیحات بیشتری رو ببینید

ویرایش: راه چهارم:
اگه درایو مورد نظر شما در fstab نیست که موقع بوت لینوکس دچار مشکل بشه، میتونین وقتی لینوکس بالا اومد با این دستور اطلاعات هایبرنیت ویندوز رو از روی اون درایو پاک کنید: (شماره درایو sda مورد نظرتون رو باید بذارید)
sudo ntfsfix /dev/sda3

از بین بردن نویز صدای هدفون در درایورهای اینتل

اینجا در مانجارو وقتی سیستم حالت suspend به resume میاد یک نویز عجیب و بد توی هدفون شنیده میشه. برای اینکه این نویز برطرف شه باید ماژول صدا رو یکبار حذف و دوباره بارگذاری کنیم.
ماژول صدای درایور اینتل snd_hda_intel است. با این دستور این ماژول غیرفعال میشه:
sudo rmmod -f snd_hda_intel

حالا با این دستور میبایست مدل درایور اینتلی که دستگاه شما داره مشخص کنیم:
aplay --list-devices

که یه سری توضیحات میاره و عددی شبیه به ALC668 مد نظر ماست. حالا با این دستور ماژول مجددا به شکل صحیح بارگذاری میشه:
sudo modprobe snd_hda_intel ALC668

اما انجام دادن این پروسه بعد از هر resume باید خودکار انجام بشه. بنابراین میایم یه اسکریپت در مسیر /usr/local/bin/ میسازیم:
sudo nano /usr/local/bin/snd_hda_intel-resume

با این محتوی:

#!/bin/bash
rmmod -f snd_hda_intel && sleep 2 && modprobe snd_hda_intel ALC668


و به اون مجوز اجرایی میدیم. (با chmod +x). اما میتونیم این رو تبدیل به یک سرویس systemd بکنیم که بعد از هر resume بصورت خودکار شروع بشه و ما هیچ دخالتی نداشته باشیم:
sudo nano /etc/systemd/system/snd_hda_intel-resume.service

با این محتوی:

[Unit]
Description=Reloading intel sound module after suspend
After=suspend.target

[Service]
Type=oneshot
ExecStart=/usr/local/bin/snd_hda_intel-resume

[Install]
WantedBy=suspend.target
و بعد برای فعال کردن این سرویس:
sudo systemctl enable snd_hda_intel-resume.service

باگ درایور اینتل

متاسفانه یک باگ حل نشده در درایور اینتل وجود داره که ابزارهایی مثل totem و parole که با gstreamer کار میکنند توی پخش فیلمهای h.264 مشکل دارند. و با پیام خطای intel_do_flush_locked failed: No such file or directory مواجه میشن.
یک راه اینه که gstreamer1-vaapi رو حذف کنیم. یک راه هم اینه که در پوشه etc/profiles.d/ یک فایل sh ایجاد کنیم با این محتوی:
#!/bin/bash
export LIBGL_DRI3_DISABLE=1
محض یاد آوری بود..

نحوه غیرفعال کردن Guest Account در اوبونتو

حتماً تا به حال به Guest Account در اوبونتو برخوردید و به هر دلیلی فکر کردید که چه خوب می‌شد اگر میتونستم غیرفعالش کنمخوب این همون چیزیه که امروز میخوایم راجع بهش صحبت کنیمبرای غیرفعال کردن اکانت مهمان کافیه فرمان زیر رو در ترمینال وارد کنید:

 sudo gedit /etc/lightdm/lightdm.conf

و خط های زیر رو بهش اضافه کنید:

[SeatDefaults]
user-session=ubuntu 
allow-guest=false

و بعد از ذخیره سازی تغییرات، سرویس lightdm رو ریستارت کنید:

 sudo lightdm restart

حالا حساب مهمان شما غیرفعال شده است و شما میتوانید با زدن Super + L (رفتن به صفحه ی ورود به اکانت) این رو مشاهده کنید.

حذف lag وقتی که در گنوم شل هستیم!

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

nano ~/.drirc

با این محتوی:

<device screen="0" driver="dri2">
        <application name="Default">
                <option name="vblank_mode" value="0"/>
        </application>
</device>
حالا همه چی خیلی روان تر و لذت بخش تر شده.

برگرداندن backspace به nautilus

از وقتی گنوم ۳ اومد همین طور از قابلیت های شخصی سازی دسکتاپ کمتر و کمتر شد. تا اینکه متوجه شدم در نسخه 3.20 که الان نصبه فایل منیجر Nautilus قابلیت backspace که یک فولدر به عقب برمیگشت رو نداره! و توسعه دهندگان تصمیم گرفتند از Alt و کلید های جهت‌نمای کیبورد استفاده کنند و هیچ حق تغییر هم به کاربر ندادند.
خیلی گشتم تا این اسکریپت پایتون رو پیدا کردم که باعث میشه این قابلیت برگرده. برای این منظور اول از github دانلودش کنید و اون رو در مسیر زیر قرار بدید، و اگر فولدرها وجود ندارند اونها رو بسازید
~/.local/share/nautilus-python/extensions/


بسته python-nautilus هم باید نصب باشه. و یک بار با سوییچ q باید nautilus رو از نو اجرا کنید تا تاثیرش رو ببینید.
اگر در آینده لینک اسکریپت خراب شد، در ادامه همین مطلب میتونید ببینیدش. اون رو در یک فایل پایتون با پسوند py ذخیره کنید و در مسیر بالا قرار بدید.

نصب Manjaro Linux روی لپ‌تاپ ASUS n501 (ویرایش شد)

این مطلب بیشتر جنبه ی یادآوری برای خودم داره که اگر در آینده دچار مشکل شدم بتونم رجوع کنم. اما کسانی هم که از لپتاپ های جدید سری n شرکت ASUS استفاده میکنند و میخوان که لینوکس روش نصب کنند (در اینجا مانجارو) میتونن از این مطلب استفاده کنند.
ویرایش: متوجه شدم که گویا کلا با nvidia مشکل داره و سایر مدل های لپتاپ ها و حتی دسکتاپ هم این مشکل رو دارند. اما راه حال یکسانه

با روش های موجود iso این توزیع رو روی فلش مموری میریزیم و سعی میکنیم که لپتاپ رو با اون بوت کنیم! در همین ابتدای کار در حین بوت لایو شما با پیام خطای A start job is running for LiveMedia MHWD Script روبرو میشید و مانجارو بالا نمیاد. این پیام مربوط میشه درایور گرافیک لپتاپ که بوسیله mhwd که مختص مانجارو هست مدیریت و نصب میشه. که در اینجا ظاهرا نتونسته درست مدیریت کنه. برای دور زدن این خطا و بوت کردن لایو مانجارو باید موقع بوت روی خط بوت کلید e رو بزنیم و این خط رو به انتهاش اضافه کنیم و بعد با F10 بوت کنیم
xdriver=mesa

حالا مانجارو بالا میاد و ما میتونیم اون رو نصب کنیم. در اینجا فن لپتاپ به شدت کار میکنه، اما جای نگرانی نیست، فرایند نصب به سرعت تموم میشه. وقتی نصب تموم شد، باز هم مانجارو بالا نمیاد.
ویرایش: کاشف به عمل آمد که Bumblebee که مسئول خاموش کردن nvidia است با این قضیه مشکل داره و در حین بوت باعث freez شدن میشه. برای همین باید در خط کرنل در گراب یه تغییراتی رو اعمال کنیم (به رنگ سبز نشون دادم).

برای اینکه این مشکل بر طرف بشه، طبق این ویکی باید در خط کرنل موقع بوت این تنظیمات رو اعمال کنیم (در پایین توضیح دادم)
i915.enable_execlists=0 acpi_backlight=native acpi_osi=! acpi_osi='Windows 2009'


اما با تعیین کردن acpi_osi به این شکل کلیدهای ترکیبی تنظیم نور مانیتور کار نمیکنند. اگر عبارت نارنجی رنگ بالا رو هم در خط کرنل گذاشته باشیم تنظیم نور مانیتور از طریق دستور در ترمینال کار خواهد کرد.
برای این کار دو راه داریم. یکی اینکه xdotool رو نصب کنیم و با این دستور ها نور رو کم و زیاد کنیم (که میتونیم یک کیبورد شورتکات تعریف کنیم مثلا با Super+F5 و Super+F6 :
xdotool key --clearmodifiers XF86MonBrightnessUp
xdotool key --clearmodifiers XF86MonBrightnessDown



یا xorg-xbacklight رو نصب کنیم و با این دستورها کار کنیم:
xbacklight -inc 10
xbacklight -dec 10

ممکنه تاچ‌پد کار نکنه. وارد تنظیمات mouse and touchpad میشید و میبینید که تاچ‌پد شناخته شده، اما کار نمیکنه. برای حل این مشکل، یک بار این دستور رو اجرا کنید، اگر مشکل برطرف شد که شد،‌ اگر نشد باید به کرنل 4.7 آپدیت کنید.
ویرایش: کاشف به عمل اومد که اگر وارد ویندوز بشیم و بعد وارد مانجارو بشیم باید ماژول مربوط به تاچ‌پد رو به شکل زیر غیرفعال/فعال کنیم. در ریبوت های بعدی در خود مانجارو این مشکل وجود نداره. برای اینکه کلا از بابت این مشکل هم راحت بشیم میتونیم طی یک سرویس systemd این کار رو در هر بوت انجام بدیم. حالا چه قبلش توی ویندوز بودیم چه نبودیم.
sudo modprobe -r elan_i2c && sleep 2 && sudo modprobe elan_i2c
موضوع دوم، فونت ریز گراب هست. حالا که حرف از گراب زدیم، باید یه سری چیزها رو هم در این سطح انجام بدیم. به ترتیب اینکار ها رو میکنیم:
sudo gedit /etc/default/grub

فایل پیشفرض گراب باز میشه، این تغییرات رو اعمال میکنیم:
برای رزلوشن این خط رو اضافه میکنیم:
GRUB_GFXMODE="1600x1200"

در خط مربوط به کرنل اینها رو اضافه میکنیم، بصورتی که بشه این:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash i915.enable_execlists=0 acpi_backlight=native acpi_osi=! acpi_osi='Windows 2009' "

و بعد ذیره میکنیم و سپس این دستور رو اجرا میکنیم تا منوی گراب بازسازی بشه:
sudo grub-mkconfig -o /boot/grub/grub.cfg









برای درست کردن فونت کنسول در لپتاپ های با رزولوشن بالا (HIDIP)  terminus-font رو نصب کنید و بعد :
sudo nano /etc/vconsole.conf
با این محتوی:
FONT=ter-v28b




ویرایش: بعد از یه مدتی نمیدونم به چه دلیلی، فونت کنسول به هم ریخت و هیچی معلوم نبود. مجبور شدم این فونت رو پاک کنم و به همون فونت بسیار ریز اکتفا کنم.

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

ایجاد فضای swap بدون پارتیشن بندی مجدد هارد درایو


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

اما اگر شما لینوکس رو نصب کردید و فضای swap برای سیستم عامل تعریف نکردید. 2 راه دارید برای ساخت این فضا:
1- از یک دیسک زنده استفاده کنید ،سیستم رو با اون بوت کنید و بعد از اون یکی از پارتیشن هارو تغییر حجم بدید و یک پارتیشن جدید برای swap بسازید.
2- از یک فایل به عنوان swap استفاده کنید!

در این جا من روش دوم رو توضیح میدم.
اول یک فایل به کمک دستور dd درست میکنیم. حجم این فایل بهتره 2 برابر حجم رم و کمتر از 8 گیگ باشه. یعنی اگر 2 گیگ رم دارید این فایل رو به اندازه 4 گیگ درست کنید ولی اگر رم شما 16 گیگه اون رو به اندازه 8 گیگ درست کنید. من شک دارم اگر 8 گیگ از اطلاعاتی که قرار بوده روی رم نوشته بشه رو روی هارد قرار بدیم سیستم اصلا بتونه کارا کنه!

 dd if=/dev/zero of=/swap.img bs=1024 count=<اندازه فایل به کیلو بایت>

بعد فایل رو به عنوان swap فرمت می کنیم. ( از این دستور میشه برای خالی کردن swap هم استفاده کرد. البته قبل از اون باید swap رو غیر فعال کنید. و جلوی دستور آدرس پارتیشن رو به صورت /dev/sdX وارد کنید
 mkswap /swap.img

بعد از اون کافیه فایل رو به عنوان swap به سیستم عامل معرفی کنیم
 swapon /swap.img


برای غیر فعال کردنش هم کافیه دستور زیر رو وارد کنید
 swapoff -a

پ.ن:
1- تمام دستورات بالا باید با دسترسی روت اجرا بشه
2- این اولین پست من توی این وبلاگ بود. امیدوارم رضایت شمارو جلب کرده باشم.
همونطور که میدونید مدیر بسته ها در مانجارو pacman هست. چند تا نکته در مورد آپدیت سیستم بوسیله pacman از ویکی مانجارو اینجا خلاصه میکنم که دم دست باشه.
۱- اول از همه باید مناسب ترین سرورهای مخازن رو پیدا کنیم. برای این کار با این دستور اول لیستی از همه ی مخازن تهیه میشه  و سپس شما میتونید دونه دونه زمان پاسخگویی اون سرور رو ببینید و انتخابش کنید تا وارد لیست مخازن سیستم شما بشه
sudo pacman-mirrors -i -c all

۲- و بعد از اینکه چند تا از سریعترین ها رو انتخاب کردین با این دستور اون ها رو به ترتیب سرعت لیست میکنه
sudo  pacman-mirrors -g
۳- حالا لیست بسته ها رو از روی این مخازن جدید بروز رسانی میکنیم
sudo pacman -Syy
۴- بعد با این دستور دیتابیس بسته ها رو بهینه میکنیم
sudo  pacman-optimize && sync

۵- بعد با این دستور اقدام به بروز رسانی بسته ها میکنیم
sudo pacman -Su
البته وقتی در قدم اول لیستی از همه ی مخازن موجود تهیه میکنیم، این لیست میشه لیست پیشفرض ما. و هر وقت که ISP ما عوض شه یا به جای دیگه ای مسافرت کنیم، باید لیست رو از اول تهیه کنیم تا بازده بیشتری بتونیم داشته باشیم.
اما بعد از اینکه آپدیت سیستم تموم شد، کلی بسته دانلود میشه. بنابراین کلی حجم از فضای هارددیسک ما اشغال میشه. برای اینکه بتونیم بطور محافظه کارانه فقط آخرین دو نسخه ی دانلود شده از بسته ها رو در cache نگه داریم و مابقی رو پاک کنیم از این دستور میتونیم کمک بگیریم
sudo  paccache -rvk2
برای این میگم دو تا از آخرین بسته ها رو نگه داریم که ممکنه با آپگرید سیستم دچار مشکل بشیم و مجبور بشیم اون بسته ای رو که سالم بوده از حافظه cache دوباره نصب کنیم.

دو تا تم ساده برای MDM

mdm لاگین منیجر پیشفرض مانجارو است که همون GDM نسخه ۲ است که توسط تیم لینوکس مینت زنده نگه داشته شد. این دو تا تم مخصوص MDM و GDM2 هستند که میتونید اونها رو دانلود کنید. و بعد در مسیر usr/share/mdm/themes/ اکسترکت کنید. و بعد در برنامه ها با Login Window تم مورد نظرتون رو تغییر بدید.



این تم رو از اینجا میتونید دانلود  کنید. سه رنگ قرمز، آبی و سبز رو داره.



این تم رو هم میتونید از اینجا دانلود کنید.