Issue #24137: Fixed IDLE on Linux with tkinter default root disabled.
diff --git a/Lib/idlelib/pyshell.py b/Lib/idlelib/pyshell.py
index 3e8351f..82e77f9 100755
--- a/Lib/idlelib/pyshell.py
+++ b/Lib/idlelib/pyshell.py
@@ -1562,7 +1562,8 @@
         ext = '.png' if TkVersion >= 8.6 else '.gif'
         iconfiles = [os.path.join(icondir, 'idle_%d%s' % (size, ext))
                      for size in (16, 32, 48)]
-        icons = [PhotoImage(file=iconfile) for iconfile in iconfiles]
+        icons = [PhotoImage(master=root, file=iconfile)
+                 for iconfile in iconfiles]
         root.wm_iconphoto(True, *icons)
 
     # start editor and/or shell windows: