OnGUI is never called while others all work well

I have browsed all QAs relavant to this issue but still cannot figure out the reason.
I start a new scene and attach a script named "“testGUI.cs” to the main camera. The script is below:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class testGUI : MonoBehaviour
    // Start is called before the first frame update
    void Start()

    private void OnGUI()

    // Update is called once per frame
    void Update()

When I hit play, “Start” and “Update” show normally, while “OnGUI” doesn’t. I had tried updating Unity version to 2018.4.22f1 and no use.

Wow that’s weird…I had struggled with this problem for two days, but suddenly happened to work it out by myself just after posting the question…This reason is never mentioned before.

The thing is, the OnGUI seems to be called only in “Display 1”. I changed to Display 2 before, so the OnGUI is never called, although I set the camera “Target Display” to Display 2.

I am not sure if this is a bug, but I don’t find way to call OnGUI on other Display, so I have to change back to Display 1, if anyone find the solution I will be thankful.