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

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

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


توزیع گنو/لینوکس اوبونتو ۲۰ ساله شد 🎉

نویسنده موضوع: skenciill crash at start  (دفعات بازدید: 1132 بار)

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

آفلاین سید محمود رضا سجادی

  • Hero Member
  • *
  • ارسال: 704
  • جنسیت : پسر
    • مرکز برنامه نویسی ایران
skenciill crash at start
« : 07 شهریور 1388، 05:55 ق‌ظ »
سلام
اسکنسیل یه برنامه جالب برای انجام کار بروی فایل های وکتوریه (یه چیزی مثل xara و یا inkscape)
اسکنسیل رو بعضی سیستم ها اجرا نمیشه و بعد از نصب (همون اول) از ابتدا اجرا نمیشه
این ارور زیاد ارسال شده و در نسخه های مختلف این برنامه هم گزارش شده
روش حل اون هم به سادگی در اینترنت گیر نمیاد چون تعداد ریپرت ها زیاده و لذا گشتن بین اونها خیلی سخته
به همین دلیل من ارور و راه حل رو انجا میذارم تا شاید به درد کسی بخوره

اررور
mahmood@mahmood-pc:~$ skencil
shared memory images supported
Traceback (most recent call last):
  File "/usr/bin/skencil", line 34, in <module>
    Sketch.main.main()
  File "/usr/lib/skencil/Sketch/Base/main.py", line 148, in main
    run_script = options.run_script)
  File "/usr/lib/skencil/Sketch/UI/skapp.py", line 183, in __init__
    self.build_window()
  File "/usr/lib/skencil/Sketch/UI/skapp.py", line 223, in build_window
    self.run_script)
  File "/usr/lib/skencil/Sketch/UI/mainwindow.py", line 98, in __init__
    self.build_menu()
  File "/usr/lib/skencil/Sketch/UI/mainwindow.py", line 901, in build_menu
    self.update_mru_files()
  File "/usr/lib/skencil/Sketch/UI/mainwindow.py", line 380, in update_mru_files
    self.file_menu.RebuildMenu()
  File "/usr/lib/skencil/Sketch/UI/tkext.py", line 367, in RebuildMenu
    self.menu.delete(0, END)
  File "/usr/lib/python2.6/lib-tk/Tkinter.py", line 2678, in delete
    self.deletecommand(c)
  File "/usr/lib/python2.6/lib-tk/Tkinter.py", line 361, in deletecommand
    self.tk.deletecommand(name)
TclError: can't delete Tcl command

راه حل
در پست چهارم از آدرس زیر
https://bugs.launchpad.net/ubuntu/+source/skencil/+bug/361636
پچ زیر معرفی شده:
http://launchpadlibrarian.net/29740111/menu.patch
که البته چون من بلد نیستم چجوری باید این پچ رو اجرا کنم - دستی این کار رو انجام دادم

قسمت مورد نیاز
    def RebuildMenu(self):
  if self.entries is not None:
-    self.menu.delete(0, END)
+    self.menu.tk.call(self.menu._w, 'delete', 0, END)
  if self.rebuild_func is not None:
     try:
  self.entries = self.rebuild_func()
@@ -375,7 +375,7 @@
 
     def SetEntries(self, entries):
  if self.entries is not None:
-    self.menu.delete(0, END)
+    self.menu.tk.call(self.menu._w, 'delete', 0, END)
     for entry in self.entries:
  entry.clean_up()
  self.entries = entries

حالا دستور زیر رو اجرا کنید
sudo gedit /usr/lib/skencil/Sketch/UI/tkext.py
داخل اون بدنبال خط هایی از متن بالا بگردید که نه - کنارشونه و نه +
این یه بخشی ازکده که دارید میبینید
وقتی پیداش کردید قسمت - رو پاک کنید و قسمت + رو جایگزینش کنید
فایل رو سیو کنید و کار تمونه
حالا برنامه اجرامیشه
« آخرین ویرایش: 07 شهریور 1388، 05:58 ق‌ظ توسط سید محمود رضا سجادی »
مرکز برنامه نویسی ایران
محلی برای تمامی علاقه مندان به برنامه نویسی http://www.SourceCenter.IR