لینوکس و من

نصب آفیس ۲۰۱۰ روی لینوکس

نویسنده : امین | تاریخ: 1395/11/7

با اینکه نصب مایکروسافت آفیس روی لینوکس به نوعی گل به خودی محسوب میشه، در اوضاع کنونی که همه جا فقط از MS Office استفاده میکنند، اگر واقع بین باشیم واقعا Libreoffice نمیتونه از پس نمایش درست و بدون نقص فایلهای MS Office بر بیاد. بنابراین مجبوریم کارهای این چنینی رو حتما با MS Office انجام بدیم.
توجه: لطفا در مذمت این کار کامنت نذارید! خودم میدونم.

اگر خواستید تن به این کار بدید! باید با wine این کار رو بکنید. پس اول wine و wine-mono و wine-gecko و winetricks رو روی توزیع خودتون نصب کنید. از اونجایی که نسخه های جدید wine به اندازه کافی رشد پیدا کردن که آفیس سال ۲۰۱۰ یعنی ۶ سال پیش رو بهتر اجرا کنند، بنابراین کار پیچیده ای لازم نیست انجام بدیم.
اما یک نکته ای وجود داره، اگر از لینوکس ۳۲ بیت استفاده میکنید (که این روزها بعیده) به سادگی فایل نصب آفیس رو اجرا کنید و نصب کنید. اما اگر از لینوکس ۶۴ بیت استفاده میکنید باید یک wineprefix مخصوص ۳۲ بیتی درست کنیم و آفیس رو در اون اجرا کنیم. با زدن دستور زیر:
 WINEPREFIX="$HOME/.wine32" WINEARCH=win32 wine wineboot

حالا فایل نصب آفیس ۲۰۱۰ رو اول روی هارد کپی کنید و با دستور زیر اجرا کنید و مراحل نصب رو ادامه بدید:
WINEPREFIX=~/.winewin32 WINEARCH=win32 wine /home/amin/test/setup.exe

طبیعیه که بجای عبارت نارنجی باید مسیر فایل نصب در فولدرهای خودتون رو بذارید.
اگر از یک سیستم به روز استفاده میکنید دلیلی وجود نداره که موفق نشید. البته اگر در حین نصب پیام خطایی دریافت کردید که آفیس موفق به ادامه نصب نبود، احتمالا باید samba رو هم نصب داشته باشید. نمیدونم چرا! ولی یکی از دوستان این طوری مشکلش رو حل کرد.
بعد از نصب، به روشی که بلدید با عرض شرمندگی و عذرخواهی از جامعه نرم افزار آزاد آفیس رو اکتیویت کنید!
وقتی آفیس word رو اجرا میکنید متوجه میشید که عبارات فارسی برعکس یا جدا از هم هستند. برای حل این مشکل باید با winetricks یه چیزی رو به نام usp10.dll نصب کنید. برای این کار باید winetricks در wineprefix جدیدمون اجرا بشه:
 WINEPREFIX="$HOME/.wine32" WINEARCH=win32 winetricks

و بعد در قسمت install a windows dll or component گزینه usp10 رو تیک بزنید و ok کنید. بعد از نصب این dll یک بار تست کنید، باید درست شده باشه.
و اما موضوع بعدی، یک باگ شناخته شده و حل نشده از چند سال پیش وجود داره، در مورد نوشتن RTL و LTR به صورت مخلوط که میتونید ویدیوی مربوط به این باگ رو هم در یوتیوب نگاه کنید.
فایلهای doc و docx به درستی نشون داده میشن. هیچ مشکلی نیست. اما اگر فایلی دارید که مخلوطی از فارسی و انگلیسی داره ممکنه کمی در ویرایشش اذیت بشید.
دکمه های rtl و ltr توی نوار ابزار وجود ندارند. هرچند که وجودشون چیزی رو حل نمیکنه، اما میتونید با این دستور آفیس رو اجرا کنید و اون دکمه ها در نوار ابزار اضافه میشن:
env WINEPREFIX=/home/amin/.wine32 WINEARCH=win32 LANG=fa_IR.UTF-8 wine '/home/amin/.wine32/drive_c/Program Files/Microsoft Office/Office14/WINWORD.EXE'


دستور بالا رو میتونید تبدیل به یک لانچر در منوی دسکتاپ خودتون بکنید. لانچری که wine ایجاد کرده قسمت مربوط به فارسی (سبز) نداره. قسمت نارنجی هم مسیر فولدر home کاربر خودتون رو باید بذارید. اگر فقط word رو نصب کردید که هیچی. اگر چیزای دیگه ای هم نصب کردید باید برای فایلهای اجرایی اونها هم تک تک دستور بالا رو ویرایش کنید (قسمت آبی)
بعد از نصب wine کلی برنامه های آفیس وارد منوی openwith میشن و دردسر درست میکنن. ما فقط میخوایم فایلهای doc و docx با مایکروسافت آفیس باز بشن. برای همین در این مسیر میتونید این شورتکات ها رو حذف کنید و فقط docx و doc رو بذارید بمونن. فایلهای مربوطه با wine-extensions شروع میشن
~/.local/share/applications

البته فایلهای مربوط به پسوند doc و docx رو با ویرایشگر متنی خودتون باز کنید و LANG=fa_IR.UTF-8 رو به قسمت command اضافه کنید تا با باز کردن مستقیم فایلهای ورد، آیکن rtl و ltr نشون داده بشن. که البته بخاطر اون باگ عملا مصرفی ندارند.
خب، حالا ما یه wineprefix جدا برای آفیس داریم که قاعدتا کلی هم حجم اشغال کرده. و پوشه wine اصلی هم که اگر قبلا برنامه های wine رو باز میکردید وجود داره. اگر حساس هستید نسبت به این دوگانگی، میتونید برنامه هاتون رو توی همین wineprefix ای که ایجاد کردیم نصب کنید. اما برای اینکه اذیت نشیم و یه تریلی دستور ننویسیم، میتونید این رو به فایل bashrc خودتون اضافه کنید تا از این به بعد برای اجرای برنامه ها در wineprefix جدید به راحتی اون برنامه رو با دستور wine32 اجرا کنید. مثلا wine32 ~/freegate.exe
alias wine32='WINEPREFIX=~/.wine32 WINEARCH=win32 wine '
و اما آفیس ۲۰۱۳ ! با اومدن wine نسخه 2 امیدها برای اجرای این نسخه در لینوکس بوجود آمدند! البته من تونستم آفیس ۲۰۱۳ رو اجرا کنم، اما پر از باگ بود و بسته میشد. بنابراین عملا فایده ای نداشت و استفاده ای نمیشه ازش کرد.

باز نگه داشتن فایرفاکس بعد از آخرین تب

نویسنده : امین | تاریخ: 1395/10/22

ویژگی ای که بعد از فایرفاکس 3.5!!! بهش اضافه شد اینه که وقتی آخرین Tabی که باقی مونده بسته میشه خود فایرفاکس هم بسته میشه. برای جلوگیری از این اتفاق، توی آدرس تایپ کنید about:config و بعد از تایید اینکه میدونید دقیقا دارید چی کار میکنید به تنظیمات فایرفاکس راه پیدا میکنید.

در قسمت جست و جو عبارت browser.tabs.closeWindowWithLastTab رو پیدا کنید و با دبل کلیک روی اون مقدارش رو از TRUE به FALSE تغییر بدید.

+صرفا جهت یادآوری

مولتی تاچ کامل در تاچپدها در لینوکس

نویسنده : امین | تاریخ: 1395/10/15

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

به طور مثال:
حرکت سه انگشتی به سمت چپ و راست باعث بشه عمل backward و forward اتفاق بیفته. مثلا در Nautilus بین پوشه ها عقب و جلو بریم. یا در مرورگر در صفحات عقب تر و جلوتر بریم.
حرکت سه انگشتی به بالا و پایین باعث بشه بین Tab های مرورگر حرکت کنیم.
حرکت چهار انگشتی به سمت راست، باعث بشه یک Tab جدید باز بشه. چه در مرورگر چه در فایل منیجر.
حرکت چهار انگشتی به سمت چپ باعث بشه Tabی که مشاهده میکنیم close بشه.
و....

برای این منظور چند اسکریپت پیدا کردم. یکی Touchegg که شخصی سازی های زیادی داشت. اما اینقدر در نصبش پیچیدگی داشت که حتی فروم های خارجی هم بعضا موفق نشده بودند. ضمنا موقع نصب به تعداد زیادی بسته منجمله qt4 وابسته است.
دومین اسکریپت چیزی هست به نام xSwipe. اینو من نصب کردم و راه اندازی کردم. اما یکی از دوستان که انجام داد با مشکلات جدی روی تاچپدش مواجه شد. بنابراین بیشتر گشتم تا راه سازگارتری پیدا کنم. البته xSwipe مناسب توزیع هایی است که برای تاچپد خودشون از درایور synaptic استفاده میکنند. در مانجارو فعلی از libinput استفاده میشه و بعد از نصب synaptic دو دستگی پیش میاد و کلا چیز جالبی نمیشه. هر چند که بدون مشکل کار میکنه، اما احساس کردم که libinput تجربه واقعا بهتری بدست میده.
این شد که در AUR چیزی پیدا کردم به نام libinput-gestures که برای libinput نوشته شده و قابلیت مولتی تاچ رو به کمک چندتا ابزار دیگه مثل xdotool و wmctrl در اختیار میذاره. برای نصب در آرچ بیس ها:
1. yaourt -S libinput-gestures
2. sudo gpasswd -a $USER input
و بعد یک بار reboot  یا logout کنید.
اگر میخواید برای هر یوزر تنظیمات خاصی اعمال بشه، باید فایلی به این نام ایجاد کنید و تنظیمات دلخواهتون رو داخلش قرار بدید:
gedit ~/.config/libinput-gestures.conf

تنظیمات ساده و قابل درک هستند. مثلا من برای خودم این طور قرار دادم:
gesture: swipe up        xdotool key super+space #close window
gesture: swipe down 4    xdotool key super+Down #minimize
gesture: swipe right 4    xdotool key ctrl+t #new tab
gesture: swipe left 4        xdotool key ctrl+w #close tab
gesture: swipe up 3        xdotool key ctrl+Tab #switch between tabs
gesture: swipe down 3    xdotool key ctrl+shift+Tab #reverse switch between tabs
gesture: swipe left 3        xdotool key alt+Left #backward
gesture: swipe right 3    xdotool key alt+Right #forward
gesture: pinch in 2        xdotool key ctrl+plus #zoom in
gesture: pinch out 2        xdotool key ctrl+minus #zoom out

هر یک از قسمت ها رو توضیح میدم:
قسمت نارنجی، حرکت رو تعیین میکنه. swipe up یعنی حرکت از پایین به بالا.
قسمت سبز، تعداد انگشت ها رو مشخص میکنه. 4 یعنی 4 انگشتی! برای ۲ انگشتی چیزی نمیشه تعریف کرد، چون با تنظیمات خود سیستم تداخل میکنه.
قسمت زرد، حالت دستور xdotool رو تعیین میکنه.
و قسمت صورتی هم کلیدی است که xdotool آن را میفشارد!
در قسمت خاکستری هم توضیحاتی رو نوشتم. (که البته شما به دلخواه خودتون میتونید هر عملکردی رو برای اون کلیدها منظور کنید)

در واقع این اسکریپت اومده حالت های مختلف تاچپد رو به شورتکات هایی از کیبورد تبدیل کرده. که این توسط خود ما قابل تعیینه. ترفندی که میشه در این مورد به کار برد اینه که شما میتونید در keyboard shortcuts اسکریپت های مختلف خودتون رو و همچنین دستورات پیشفرض خود سیستم رو (مثلا مینیمایز کردن پنجره ها، بستن پنجره ها، حالت overview، کم و زیاد کردن نور مانیتور یا صدا، خاموش کردن مانیتور و ...) رو با شورتکات هایی در کیبورد تنظیم کنید، بعد این کلیدها رو در این تنظیمات وارد کنید!
همون طور که میبینید، مثلا من برای چهار انگشتی به پایین، کلید super+Down تعریف کردم. که این super+Down در keyboard shortcuts پنجره فعال رو مینیمایز میکنه. یا مثلا برای pinch in و pinch out دو انگشتی، میشه کلید super خالی رو تعریف کرد، که این در keyboard shortcuts حالت overview رو باز میکنه. (همون لیست پنجره های باز در گنوم شل). اما من کلید ctrl + plus و minus رو انتخاب کردم تا عمل زوم اتفاق بیفته!

بنابراین ترکیبات بیشمار و خلاقانه ای رو میشه اجرا کرد. اما حالت های مختلف دیگه ای هم وجود دارن که میتونید با خوندن راهنماهای این برنامه متوجه بشید. اما به نظر من همین چند حرکت اصلی لازم هستند. و بیشتر از این آدم رو سردرگم میکنه.

بعد از ذخیره فایل تنظیمات، با دستور زیر میتونید این قابلیت رو فعال کنید:
libinput-gestures-setup start


و اگر فایل رو تغییر دادید، یکبار stop کنید و مجدد start کنید. دستور بالا رو در استارتاپ برنامه ها قرار بدید تا موقع بوت لازم نباشه کار اضافه ای بکنید. برای مدیریت دستورهای استارتاپ در گنوم میتونید gnome-session-properties رو از AUR نصب کنید.

یک برنامه گرافیکی هم برای این منظور ساختن، که از AUR قابل نصبه، من نصب کردم، اما عملا هیچ فایده ای نداره. چون فقط حالت های مختلف رو نصب کرده و قسمت command رو باید تایپ کنیم. که خب خودمون هم توی همین فایل تایپ میکنیم دیگه! ضمنان بخاطر ویدیویی که حرکات انگشت ها رو نشون میداد حجم بالایی داشت: gesture-manager-git
لیستی از کلیدهایی که xdotool پشتیبانی میکنه میتونید در اینجا ببینید

ذخیره اسکرین شات های گنوم با نام تاریخ شمسی

نویسنده : امین | تاریخ: 1395/10/3

صرف نظر از علت این کار! برای اینکه وقتی اسکرین شات میگیریم فایلها در یک مسیری با الگوی مشخصی که ما تعیین میکنیم نام گذاری بشن میتونیم از سوییچ f استفاده کنیم. اما برای این که کار با مزه تر بشه میتونیم از کتابخانه jdate استفاده کنیم و فایلها رو طبق تاریخ شمسی نام گذاری کنیم. روش سر راستش اینه که با الگویی شبیه به این این کار رو بکنیم:
/usr/bin/gnome-screenshot -f "$HOME/Pictures/screenshots/$(jdate +%y%m%d_%H%M%S).jpg" $@ && play /usr/share/sounds/freedesktop/stereo/camera-shutter.oga

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

اما ما میتونیم یه مرحله دیگه هم پیش بریم. میتونیم این رو در یک اسکریپت قرار بدیم، و براش یک alias تحت نام gnome-screenshot تعیین کنیم. تا از این به بعد هر وقت در ترمینال زدیم gnome-screenshot حالا با سوییچ های مختلفی مثل w یا a این نامگذاری اعمال بشه.

میتونیم حتی این اسکریپت رو بعنوان keyboard shortcut قرار بدیم. و اون رو با سوییچ های مختلف مخلوط کنیم. مثلا با فشردن کلید windows و prt sc از پنجره ای که فعال هست عکس گرفته بشه (سوییچ w) و با فشردن Alt + prt sc از یک ناحیه ی دلخواه عکس گرفته بشه (سوییچ a).

قسمت سبز هم مربوط میشه به صدای شاتر دوربین! البته این روش فقط منحصر به اسکرین شات گنوم نمیشه و احتمالا میتونید یه همچین کاری رو هم با xfce بکنید.

کپی متن از PDF های فارسی

نویسنده : امین | تاریخ: 1395/10/2

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

این روش مختص به سیستم عامل خاصی نیست و در لینوکس هم میشه استفاده کرد. برای فایرفاکس، کافیه از قسمت Prefrences به قسمت Applications برید و در اون قسمت pdf رو پیدا کنید و براش مقدار Preview in Firefox رو انتخاب کنید. و بعد فایل PDF رو داخل فایرفاکس بکشونید.
در مورد کروم اطلاعی ندارم. اگر کسی میدونه اون رو در کامنتها با ما به اشتراک بذاره.

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

نویسنده : امین | تاریخ: 1395/09/29

قسمت اپلیکیشن های گنوم شل دسته بندی کلاسیکی رو که در دسکتاپ های دیگه داریم نشون نمیده. البته با نصب افزونه هایی میشه منوی اپلیکیشن ها رو به پنل اضافه کرد.
اما اگه بخواید در داخل خود قسمت اپلیکیشن های اصلی گنوم شل برنامه هاتون رو دسته بندی کنید باید gnome-appfolders-manager رو نصب کنید.



بعد از نصب (که در آرچی ها از AUR نصب میشه) با باز کردن برنامه gnome-appfolders-manager میتونید انواع دسته بندی ها رو به دلخواه خودتون ایجاد بکنید.


مرورگر اپرا فیدخوان هم دارد

نویسنده : امین | تاریخ: 1395/09/25

مرورگر اپرا از اون مرورگرهاییه که وقتی هنوز سر و کله ی گوگل توی مرورگرها پیدا نشده بود رقیب جدی IE توی ویندوز بود. و یادمه از همون قدیم الایام نسخه لینوکس هم داشت. و حتی خیلی بیشتر از فایرفاکس اون زمان امکانات و زیبایی داشت!
با پیدا شدن کروم، و در کنار اون پیشرفت های فایرفاکس، از محبوبیت این مرورگر کم شد، که دیگه کمتر توی آمار و ارقام اسمی از اپرا میشنویم.
اما توی نسخه ی developer اخیرا امکانی رو فراهم کرده که اونایی که دوست دارن فیدخوان در مرورگرشون داشته باشن خوشحال میشن:



میتونید از AUR به راحتی اون رو برای لینوکس های مبتنی بر آرچ نصبش کنید:
yaourt -S opera-developer

اپرا مرورگر خوب و حرف گوش کن و تمیزیه. امتحانش کنید..

ضبط صدا در لینوکس

نویسنده : امین | تاریخ: 1395/09/22

برنامه های زیادی برای ضبط صدا در لینوکس وجود دارند. اما audio-recorder یکی از اوناییه که خیلی ساده و بی دردسر با تنظیمات مختلف و خوبی که داره صدا رو ضبط میکنه. مثلا اگه در حال گوش دادن به یک رادیوی اینترنتی هستید میتونید خیلی راحت اون رو با فرمت دلخواهتون ضبط کنید!

برای نصب این اپلیکیشن کوچولو و کارا توی مانجارو و آرچی ها میتونید به راحتی از AUR اون رو نصب کنید
yaourt -S audio-recorder




گزارش های سیستم را محدود تر کنیم

نویسنده : امین | تاریخ: 1395/09/22

لینوکس از راه های مختلفی گزارش های زیادی در مورد نحوه فعالیت سیستم ثبت میکنه. از پروسه بوت گرفته تا همین الان که دارید این متن رو میخونید. این گزارشات در یک جایی از سیستم ذخیره میشن و بعد از مدت مشخصی حذف میشن.
گاهی این نگه داشته شدن اینهمه لاگ (گزارش) چندان ضرورتی نداره و باعث میشه پروسه بوت کمی دچار تاخیر هم بشه. ما میتونیم از طریقی یکی از این گزارش ها رو که توسط journalctl تولید میشن محدود کنیم. این طوری هم منابع کمتری از سیستم صرف تولید و نگه داری این گزارش ها میشه و هم موقع بوت چند ثانیه ای صرف جویی میشه.
قبلش دستور زیر رو بزنید تا زمان بوت رو بهتون بگه:
systemd-analyze

و دستور زیر رو هم بزنید تا جزء به جزء بگه کدوم از سرویس ها چقدر زمان مصرف کردن تا اجرا بشن
systemd-analyze blame

بستگی داره روی سیستمتون چه سرویس هایی نصب داشته باشید. مثلا ممکنه کسی Plymouth (انیمیشن موقع بوت) داشته باشه و مقدار زیادی زمان بخاطر اون صرف شده باشه.
و اما برای کمتر کردن لاگهای journalctl فایل زیر رو با ویرایشگر دلخواهتون باز کنید
sudo gedit /etc/systemd/journald.conf

طبق عکس زیر اون مقادیری که بنفش هستند تغییر بدید و اگر پشتشون # هست بردارید
عبارت volatile معنیش اینه که لاگ های journalctl رو فقط روی مموری نگه داره و نیازی به ذخیره اونها روی هارد نیست. با اینکار شما تنها به لاگ‌های همین بوت دسترسی دارید و لاگ های قبلی دیگه وجود ندارن. اگر این براتون مهم نیست که به لاگهای قبلی هم دسترسی داشته باشید میتونید از این استفاده کنید.

و قسمت systemmaxuse هم برای اینه که حداکثر فضایی که قراره به این لاگها اختصاص داده بشه چقدر باشه. مقدار کمتر به این معنیه که فضای کمتری در اختیار داشته باشن. این برای موقعی مناسبه که شما میخواید لاگها رو روی هارد نگه دارید. نه روی مموری. هرچند اینجوری مموری هم کمتر اشغال میشه.

بعد از ذخیره این تغییرات، یک بار دستور زیر رو اجرا کنید تا لاگ های قبلی پاک بشن
sudo rm -rf /var/log/journal/*


رزلوشن 4k و مشکل ریز بودن بعضی نرم افزارها در لینوکس

نویسنده : امین | تاریخ: 1395/09/22

این روزها دیگه کم کم مانیتورهای 4k دارن روی لپتاپ ها سر و کله هاشون پیدا میشه. صرف نظر اینکه ما در یک مانیتور لپتاپ به یه همچین رزلوشنی نیاز داریم یا نه، مشکلی بوجود میاد که وقتی همچین لپتاپی میخریم چاره ای برای حلش نداریم.
در این رزلوشن اکثر برنامه های قدیمی، و اونهایی که خودشون رو نتونستن با تکنولوژی بروز کنند فونت برنامه و آیکنهای اون برنامه به قدری ریز هستند که عملا شما رو در استفاده از اونها پشیمون میکنه.
در لینوکس، حداقل در دسکتاپ گنوم این طور بوده که خود بدنه اصلی دسکتاپ و برنامه های وابسته به پروژه گنوم با این تکنولوژی سازگار هستند و مشکلی از این بابت وجود نداره. اما وقتی کار به استفاده از برنامه هایی مثل GIMP یا برنامه های قدیمی میرسه، این مسئله نمود پیدا میکنه.
گنوم در تنظیمات Tweaks برای حل این مشکل از window scaling و scaling factor استفاده کرده که با بیشتر کردن مقدار اونها تا حدی این موضوع بر طرف شه. اما با این کار کل محتوای مانیتور بزرگ میشه و باز هم ناهماهنگی زشتی بوجود میاد.
تنها راه چاره ای که من پیدا کردم این بود که بیخیال رزلوشن 4k بشیم و در تنظیمات Displays حداکثر رزلوشنی که در اون مشکلی بوجود نمیاد رو انتخاب کنیم

یعنی رزلوشن 1152 در 2048. در این عدد دیگه برنامه ای ریز نیست و برنامه های دیگه هم اندازه درستی دارند و همه چیز هماهنگه. و نیازی به افزایش scalingها نیست. و همچنین تغییر محسوسی در کیفیت تصویر نخواهید دید.

1 2 3 4 5 6 7 ...