पृष्ठभूमि के लिए, मैं डेबियन लेनी चला रहा हूं, और इसे गनोम और फ्लक्सबॉक्स दोनों के साथ करने की कोशिश की है।रूट विंडो पर जाने के बाद एक्स चोक क्यों करता है
वैसे भी, मैं कैसे डेस्कटॉप पर आकर्षित करने के लिए पर देख रहा हूँ, और मैंने पाया और यहाँ इस कोड की कोशिश की: एक्स (नियंत्रण सी मारकर), http://blog.prashanthellina.com/2007/08/24/drawing-on-your-desktop/
यह ठीक काम किया है, यह समाप्त पर छोड़कर नई विंडो बनाने की क्षमता खो देता है।
मैंने सोचा था कि शायद समस्या था pygame कुछ संसाधन को रिहा नहीं है, इसलिए मैं जाल करने के लिए कोड को मारने के संकेत के एक ब्लॉक में कहा, मुझे दे रही है निम्नलिखित:
"""
Run the following command in the shell before executing this script
export SDL_WINDOWID=`xwininfo -root|grep "id:"|sed 's/^.*id: //'|sed 's/ (.*$//'`
"""
import pygame
import sys
import random
import time
import signal
pygame.init()
window = pygame.display.set_mode((1280, 1024))
screen = pygame.display.get_surface()
def handle_sigint(signum, frame):
"""I want to ensure resources are released before bailing."""
print("SIGINT received.");
pygame.display.quit()
pygame.quit()
sys.exit(0)
# Set handler to catch C^C Interupts
signal.signal(signal.SIGINT, handle_sigint)
while 1:
for event in pygame.event.get():
if event.type == pygame.QUIT: sys.exit(0)
x = random.choice(range(640))
y = random.choice(range(480))
radius = random.choice(range(100))
col_r = random.choice(range(255))
col_g = random.choice(range(255))
col_b = random.choice(range(255))
time.sleep(.03)
rect = pygame.draw.circle(screen, (col_r, col_g, col_b), (x,y), radius)
pygame.display.update(rect)
और इसलिए मैं फिर से कोशिश की। इंटरप्ट हैंडलर में प्रिंट स्टेटमेंट मुझे बताता है कि जब मैं बाहर निकलता हूं तो हैंडलर चलाता है, लेकिन मुझे अभी भी वही समस्या है। और इससे भी दिलचस्प बात यह है कि एक्स चलने के दौरान कोई समस्या नहीं है। यह केवल इसे समाप्त करने के बाद ही है।
क्या किसी के पास कोई विचार हो सकता है कि क्या हो रहा है, और मैं कोड को ठीक करने के लिए क्या कर सकता हूं, इसलिए यह मेरे एक्स सत्र को बर्बाद नहीं करता है? अग्रिम में धन्यवाद।
प्रश्नों के उत्तर में: 1.) मैं अभी भी टर्मिनल में टाइप कर सकता हूं, हालांकि अजीब चीजें होने लगती हैं। उदाहरण के लिए, जैसे ही मैं फ़ायरफ़ॉक्स में यह टिप्पणी टाइप करता हूं, मेरे पास कर्सर नहीं है। 2.) हां, यह समस्या को हल करता है। 3.) मुझे यकीन नहीं है कि कैसे बताना है। मैंने पीएस कुल्हाड़ी की कोशिश की है grep gtk और ps ax | grep सत्र, लेकिन मुझे उन प्रक्रियाओं में से कोई भी दिखाई नहीं देता है। और वास्तव में, फ्लक्सबॉक्स में चल रहा है, मैं नॉटिलस का उपयोग नहीं कर रहा हूं, इसलिए gconftool से संबंधित सामान अप्रासंगिक लगता है। लेकिन किसी भी मामले में, सलाह के लिए धन्यवाद। – BigBeagle
ठीक है, आपने gnome और fluxbox दोनों का उल्लेख किया है। मुझे यह उल्लेख करना चाहिए था कि मेरी सभी टिप्पणियां gnome की ओर निर्देशित की गई थीं। उसके लिए माफ़ करना। यदि आप gnome चला रहे हैं, तो आप * निश्चित रूप से * उन प्रक्रियाओं को चलाना चाहिए। साथ ही, फ़ाइल ब्राउज़र के रूप में काम करने के अलावा, नॉटिलस आपके (gnome) डेस्कटॉप का प्रबंधन करता है। – DaveParillo