PDA

نسخه کامل مشاهده نسخه کامل : اجرا کردن برنامه در لینوکس



laxer
05-04-2012, 19:56
سلام
من یه وی پی اس گرفتم که لینوکسه.
میخوام وش یه گیم سرور بزنم ولی مشکل دارم.
برای اجرا کردن یه برنامه تو لینوکس حتما" باید به سرورس ریموت شم؟
راهی نیست که از طریف ssh اون برنامه رو اجرا کنم؟

MrGee
05-04-2012, 20:33
برنامه شما گرافیکیه یا تحت ترمینال؟

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

laxer
06-04-2012, 14:30
برنامه نیست بازیـه D:
میخوام واسه یه بازی سرور بزنم.
فایل های بازی رو اوردم تو لینوکس الان فقط موندم چطوری اجراش کنم.
جیپ هم هست واسه unzip کردنش چیکار کنم؟

MrGee
06-04-2012, 14:48
فکر کردم منظورتون از گیم سرور یه چیز مثل تراوین هست.

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

laxer
06-04-2012, 15:03
من از طریق wget یک فایلی رو وارد سرور کردم و بعد از طریق sftp وارد سرور شدم ولی اون فایل رو پیدا نمیکنم.
مسیر اون فایل کجاست؟
بدون محیط گرافیکی میشه اجراش کرد ولی من بلد نیستم که چطوری رانش کنم.
دستور ران کردن یه برنامه تو لینوکس چیه؟
اگه مسیر برنامه رو بدم خودش اجرا میکنه؟

MrGee
06-04-2012, 15:15
با دستورات cd و ls و pwd می تونید فایل رو پیدا کنید برای آشنایی بیشتر با این دستورات تو خط فرمان man sftp رو وارد کنید.

بله اگه مسیر برنامه رو بدید خودش اجرا می شه.

laxer
06-04-2012, 15:19
----------

MrGee
06-04-2012, 15:38
دلیلش اینه که فرمت فایل zip نیست بلکه tar.gz هست برای خارج کردن از حالت زیپ فکر کنم باید از دستور زیر استفاده کنید:

tar zxfv filename

ممکنه این فایلی که شما گرفتید سورس باشه و نه باینری قابل اجرا. در اون صورت باید بازی کامپایل هم بکنید. اگه سرورتون دیبان هست فکر کنم بتونید مستقیما برنامه رو نصب کنید تا نیازی به کار‌های اضافی نباشه.
کانفیگ سرور teeworlds هم فکر نمی کنم کاری داشته باشه. تا اون جایی که یادمه تنها با اجرا کردن برنامه سرور بازی تونستم وصل بشم. در ضمن فکر نمی کنم سرور بازی محیط گرافیکی داشته باشه و فقط می شه از خط فرمان اون رو تنظیم کرد.

laxer
06-04-2012, 16:54
من باید این رو وارد کنم تا برنامه اجرابشه:
cd /root/tee1
teeworlds_srv -f generatedServer.cfg
ولی وقتی این وارد میکنم تو putty این میاد:
teeworlds_srv: command not found

MrGee
06-04-2012, 17:26
این می گه که فایل پیدا نشد پس حتما فایل برنامه جای دیگه‌اس. با این دستورات پیداش کنید:

updatedb
locate teeworlds_srv

laxer
06-04-2012, 17:42
فایل دقیقا" همون جاست دستورات شما رو هم اجرا کردم ولی اثری نکرد.



Linux

Open up a terminal and use the command "cd" to enter the teeworlds directory.
To start the server, type
teeworlds_srv -f serverconfig.cfgwhere you replace "serverconfig.cfg" with the name of your config file.

MrGee
06-04-2012, 17:43
احتمالا فایل یه اسکریپته این دستور رو اجرا کنید:


chmod 755 teeworlds_srv

laxer
06-04-2012, 17:48
کار نکرد متاسفانه.
امکان داره مشکل از puty باشه.
شما خودتون چطور ران کردید سرور تی رو؟

MrGee
06-04-2012, 17:56
تو همون پوشه دستور زیر رو اجرا کنید و خروجی رو اینجا بزارید


ls -l

فکر نمی کنم مشکل از puty باشه.
دقیقا یادم نیست چطور بود فقط همین یادمه که با اجرای برنامه سرور تونستم وصل بشم

laxer
06-04-2012, 18:09
drwxr-xr-x 10 root root 4096 Apr 6 08:16 data
-rw-r--r-- 1 root root 901 Mar 31 13:16 generatedServer.cfg
-rw-r--r-- 1 root root 862 Jul 31 2011 storage.cfg
-rw-r--r-- 1 root root 837198 Jul 31 2011 teeworlds
-rwxr-xr-x 1 root root 395891 Jul 31 2011 teeworlds_srv

MrGee
06-04-2012, 18:43
آها ببخشید من اصلا حواسم نبود.
به اول دستور نقطه و اسلش اضافه كنيد. اين جوري

‎./teeworlds_srv -f generatedServer.cfg


ویرایش شد

laxer
07-04-2012, 22:01
سرور اجرا شد از کمک های شما ممنونم ولی سرور تو لیست سرور ها نمایش داده نمیشه.
اگه تو کامپیوتر خودم بود فایر وال رو می بستم تا نمایش بده ولی نمیدونم تو لینوکس چیکار کنم.
چطوری یه برنامه در حال اجرا رو ببندم؟

MrGee
07-04-2012, 22:19
با وارد کردن ip سرور می تونید بهش وصل بشید؟

احتمالا برای وارد شدن به لیست سرورها باید کار خاصی انجام بدید.
اگه برنامه در حال اجرا در پس زمینه‌اس مثل دانلود wget با کلیدهای Ctrl+C می تونید اون رو ببندید
ولی اگه برنامه تو پیش زمینه اجرا می شه باید یا از killall به همراه نام فایل اجرایی استفاده کنید مثلا

killall teeworlds_srv

یا اینکه با ps aux | grep filename پی‌آی‌دی یا pid برنامه رو بدست بیارید و با دستور زیر اون رو به قتل برسونید

kill -9 pid

laxer
08-04-2012, 17:24
فایر وال رو خاموش کردم درست شد ولی چند مشکل دارم که عجیبو غریبه:
سرور بازی بعد چند ساعت خود به خود کنسل میشه!
تو سرور vote گزاشتم برای تعویض مپ وقتی vote pass شد سرور خود به خود کنسل شد.
دومین مشکل هم اینکه وقتی میخوام xxlddrace ران کنم با این پیغام مواجه میشم:

[root@srv6641 tee1]# ./XXLDDRace64-Server_32 -f generatedServer.cfg
./XXLDDRace64-Server_32: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by ./XXLDDRace64-Server_32)
GLIB رو چطوری آپدیت کنم؟

MrGee
08-04-2012, 19:46
احتمالا برنامه باگی چیزی داره در هر صورت باید یه پیغام خطا بده اگه اون پیام باشه می شه یه کاری کرد.

ظاهرا GLIB اصلا نصب نیست. بسته به توزیع لینوکسی که دارید ممکنه تو مخازن باشه و براحتی نصب بشه و ممکن هم هست که تو مخازن نباشه و مجبور باشید که اون رو از سورس کامپایل کنید که در اون صورت وابستگی‌ها ممکنه کار رو سخت کنند.

laxer
08-04-2012, 20:03
تو کجاست و چطوری نصب کنم؟

-
مشکل از رم نیست؟ که خود به خود سرور اف میشه؟

MrGee
08-04-2012, 23:28
فکر نمی کنم مشکل از رم باشه.

رم سرور چه قدره؟ توزیع‌ش دیبانه یا CentOS؟

laxer
10-04-2012, 09:15
256 mb,
centOS,
وقتی putty رو میبندم سرور اف میشه!

کتاب خونه های c++ رو چطوری آپدیت کنم؟ +ddrace هم خواستم ران کنم همین ارور رو داد.

mehrankhanhoy
09-05-2012, 20:56
دوستان برای -- کردن چه لینوکسی خوبه ؟ من red hat دارم خوبه ؟ :13:

worm_19
13-07-2012, 09:35
برای اینکه بعد از بستن putty سرور بازی بسته نشه از nohup استفاده کنید.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

کار کردن با خط فرمان لینوکس می تونه تجربه ای پر از یادگیری باشه به شرطی که شما بتونی طریقه یاد گرفتن کار باهاش رو یاد بگیرید. شما اگه به هر مشکلی بر خوردید نمی تونید سریع برید از کس دیگه ای بپرسید. اگه بتونید توی گوگل مشکل رو سرچ کنید خیلی سریع تر به نتیجه می رسید مخصوصا اگه بتونید به انگلیسی سرچ کنید مثلا اگه توی گوگل سرچ کنید How to keep program running after closing" ssh session توی اولین نتیجه می بینید که یه نفر قبلا همین سوال رو پرسیده و جواب گرفته.

البته یه راه حل بهتر استفاده از screen هست که کارش فراتر حل این مشکله و من به شما توصیه نمی کنم.